我正在使用此代码创建拖放:
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;}
});