このコードを使用してドラッグ アンド ドロップを作成しています。
private final class MyTouchListener implements OnTouchListener {
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
ClipData data = ClipData.newPlainText("", "");
GlobalTouchX = (int) motionEvent.getX();
GlobalTouchY = (int) motionEvent.getY();
shadowBuilder = new MyDragShadowBuilder(view);
view.startDrag(data, shadowBuilder, null, 0);
CurrentDragImage = (ImageView)view;
view.setVisibility(View.GONE);
return true;
} else {
return false;
}
}
}
ドロップを待たずにドラッグメソッドを中断するにはどうすればよいですか、またはドロップイベントをプログラムで呼び出すことができますか? 私は多くの方法を試しましたが、うまくいきませんでした。たとえば、ここで中断できれば素晴らしいことです。
MainRelative.setOnDragListener(new OnDragListener() {
public boolean onDrag(View v, DragEvent event) {
int action = event.getAction();
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_LOCATION:
//!!!!!!!!!!!!!!!
//HERE I WANT TO INTERRUPT DRAG EVENT ON SOME CONDITION
//!!!!!!!!!!!!!!!
break;
case DragEvent.ACTION_DROP:
MyOnDrop(v, event, true);
break;
}
return true;}
});