Trascinare e rilasciare immagini in gridview in android

Sto sviluppando un'applicazione android di esempio per conoscere il drag & drop in android. All'inizio dell'app, mi sto mostrando poche immagini in una vista griglia. Ora devo trascinare un'image in un momento al posto di un altro. Dopo aver abbandonato un'image su un'altra, le immagini dovrebbero cambiare i propri luoghi. Come posso raggiungerlo? Vi prego di guidare / aiutarmi.

  • Comando di repo Android e rami di commutazione
  • Ottenere la posizione di un telefono Android utilizzando GPS
  • Come funziona android: noHistory = "vero" lavoro?
  • Il video non viene visualizzato su VideoView ma posso sentire il suo suono
  • Come viene visualizzata una window di avviso su Android?
  • consumando il webservice da eclipse di android
  • android studio 0.4.2: errore sincronizzazione progetto Gradle
  • come riavviare l'applicazione android uccisa nel test con il robot
  • Android cancella automaticamente i cookie del browser di Chrome / predefiniti, la cronologia, le ricerche
  • Paho MQTT Servizio di servizio Android
  • MediaMetadataRetriever.getFrameAtTime () restituisce solo il primo fotogramma
  • Errore VM mentre costruisci Cordova PhoneGap
  • One Solution collect form web for “Trascinare e rilasciare immagini in gridview in android”

    È ansible get questo risultato utilizzando DraggableGridView di thquinn

    È ansible aggiungere il layout personalizzato

    public class DraggableGridViewSampleActivity extends Activity { static Random random = new Random(); static String[] words = "the of and a to in is be that was he for it with as his I on have at by not they this had are but from or she an which you one we all were her would there their will when who him been has more if no out do so can what up said about other into than its time only could new them man some these then two first may any like now my such make over our even most me state after also made many did must before back see through way where get much go well your know should down work year because come people just say each those take day good how long Mr own too little use US very great still men here life both between old under last never place same another think house while high right might came off find states since used give against three himself look few general hand school part small American home during number again Mrs around thought went without however govern don't does got public United point end become head once course fact upon need system set every war put form water took".split(" "); DraggableGridView dgv; Button button1, button2; ArrayList<String> poem = new ArrayList<String>(); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); dgv = ((DraggableGridView)findViewById(R.id.vgv)); button1 = ((Button)findViewById(R.id.button1)); button2 = ((Button)findViewById(R.id.button2)); setListeners(); } private void setListeners() { dgv.setOnRearrangeListener(new OnRearrangeListener() { public void onRearrange(int oldIndex, int newIndex) { String word = poem.remove(oldIndex); if (oldIndex < newIndex) poem.add(newIndex, word); else poem.add(newIndex, word); } }); dgv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) { Toast.makeText(getApplicationContext(), "On clicked" +position, Toast.LENGTH_SHORT).show(); dgv.removeViewAt(position); poem.remove(position); } }); button1.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String word = words[random.nextInt(words.length)]; addView(); poem.add(word); } }); button2.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { String finishedPoem = ""; for (String s : poem) finishedPoem += s + " "; new AlertDialog.Builder(DraggableGridViewSampleActivity.this) .setTitle("Here's your poem!") .setMessage(finishedPoem).show(); } }); } public void addView() { LayoutParams mLayoutParams= new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); LinearLayout mLinearLayout= new LinearLayout(DraggableGridViewSampleActivity.this); mLinearLayout.setOrientation(LinearLayout.VERTICAL); mLinearLayout.setGravity(Gravity.CENTER_HORIZONTAL); ImageView mImageView = new ImageView(DraggableGridViewSampleActivity.this); if(dgv.getChildCount()%2==0) mImageView.setImageResource(R.drawable.child1); else mImageView.setImageResource(R.drawable.child2); mImageView.setScaleType(ImageView.ScaleType.FIT_XY); mImageView.setLayoutParams(mLayoutParams); mImageView.setId(dgv.getChildCount()); mImageView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), v.getId()+"clicked ", Toast.LENGTH_SHORT).show(); return dgv.onTouch(v, event); } }); TextView mTextView = new TextView(DraggableGridViewSampleActivity.this); mTextView.setLayoutParams(mLayoutParams); mTextView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), v.getId()+"clicked text ", Toast.LENGTH_SHORT).show(); return dgv.onTouch(v, event); } }); TextView mTextViewLabel = new TextView(DraggableGridViewSampleActivity.this); mTextViewLabel.setText(((dgv.getChildCount()+1)+"")); mTextViewLabel.setLayoutParams(mLayoutParams); mTextViewLabel.setId(dgv.getChildCount()); mTextViewLabel.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Toast.makeText(getApplicationContext(), v.getId()+"clicked text ", Toast.LENGTH_SHORT).show(); return dgv.onTouch(v, event); } }); mLinearLayout.setTag(mTextViewLabel); mLinearLayout.addView(mTextViewLabel); mLinearLayout.addView(mImageView); mLinearLayout.addView(mTextView); dgv.addView(mLinearLayout); } } 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.