Как я могу перетащить несколько изображений на другие образы viewviews android

Я новичок в Android. Настоящий код может перетаскивать несколько изображений на один ImageView, но я не могу их удалить на нескольких изображениях. Просьба помочь, как в том, как я могу изменить свой код или любой другой существующий код.

MainActivity.java

package nfletters; import android.app.Activity; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.RelativeLayout; public class MainActivity extends Activity implements OnTouchListener { /** Called when the activity is first created. */ private View selected_item = null; private int offset_x = 0; private int offset_y = 0; Boolean touchFlag=false; boolean dropFlag=false; LayoutParams imageParams; ImageView imageDrop,image1,image2,image3,image4; int crashX,crashY; Drawable dropDrawable,selectDrawable; Rect dropRect,selectRect; int topy,leftX,rightX,bottomY; int dropArray[]; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); ViewGroup container = (ViewGroup) findViewById(R.id.container); imageDrop=(ImageView) findViewById(R.id.ImgDrop); image1=(ImageView) findViewById(R.id.img1); image2=(ImageView) findViewById(R.id.img2); image3=(ImageView) findViewById(R.id.img3); image4=(ImageView) findViewById(R.id.img4); container.setOnTouchListener(new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if(touchFlag==true) { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN : topy=imageDrop.getTop(); leftX=imageDrop.getLeft(); rightX=imageDrop.getRight(); bottomY=imageDrop.getBottom(); //opRect. break; case MotionEvent.ACTION_MOVE: crashX=(int) event.getX(); crashY=(int) event.getY(); int x = (int) event.getX() - offset_x; int y = (int) event.getY()- offset_y; int w = getWindowManager().getDefaultDisplay().getWidth() - 50; int h = getWindowManager().getDefaultDisplay().getHeight() - 10; if (x > w) x = w; if (y > h) y = h; RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(new ViewGroup.MarginLayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT)); lp.setMargins(x, y, 0, 0); //Drop Image Here if(crashX > leftX && crashX < rightX && crashY > topy && crashY < bottomY ) { Drawable temp=selected_item.getBackground(); imageDrop.setBackgroundDrawable(temp); imageDrop.bringToFront(); dropFlag=true; selected_item.setVisibility(View.INVISIBLE); } //Drop Image Here selected_item.setLayoutParams(lp); break; case MotionEvent.ACTION_UP: // touchFlag=false; if(dropFlag==true) { dropFlag=false; } else { selected_item.setLayoutParams(imageParams); } break; default: break; } }else { System.err.println("Display Else Part ::->"+touchFlag); } return true; } }); image1.setOnTouchListener(this); image2.setOnTouchListener(this); image3.setOnTouchListener(this); image4.setOnTouchListener(this); } public boolean onTouch(View v, MotionEvent event) { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: touchFlag=true; offset_x = (int) event.getX(); offset_y = (int) event.getY(); selected_item = v; imageParams=v.getLayoutParams(); break; case MotionEvent.ACTION_UP: selected_item=null; touchFlag=false; break; default: break; } return false; } } 

activity_main.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ImageView android:id="@+id/ImgDrop" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:background="#FFF123" /> <ImageView android:id="@+id/img4" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="75dp" android:layout_marginTop="61dp" android:background="@drawable/ic_launcher" /> <ImageView android:id="@+id/img3" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignTop="@+id/img4" android:layout_toRightOf="@+id/ImgDrop" android:background="@drawable/ic_launcher" /> <ImageView android:id="@+id/img2" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignRight="@+id/ImgDrop" android:layout_alignTop="@+id/img3" android:layout_marginRight="23dp" android:background="@drawable/ic_launcher" /> <ImageView android:id="@+id/img1" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignTop="@+id/img2" android:layout_marginRight="40dp" android:layout_toLeftOf="@+id/img2" android:background="@drawable/ic_launcher" /> 

Перетаскивание. С помощью платформы перетаскивания Android вы можете разрешить своим пользователям перемещать данные с одного вида на другой. Просмотр в текущем макете с помощью графического жесткого перетаскивания. Структура включает в себя класс события перетаскивания, прослушиватели перетаскивания и вспомогательные методы и классы.

Хотя структура в основном предназначена для перемещения данных, вы можете использовать ее для других действий пользовательского интерфейса. Например, вы можете создать приложение, которое смешивает цвета, когда пользователь перетаскивает значок цвета над другим значком. Остальная часть этой темы, однако, описывает структуру с точки зрения перемещения данных. Ссылка см.