大家好,我正在尝试实施拖放自定义系统,而且我在最后一部分都在挣扎。在我的方法:
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED: break;
case DragEvent.ACTION_DRAG_ENTERED: break;
case DragEvent.ACTION_DRAG_EXITED: break;
case DragEvent.ACTION_DROP:
View dragged = (View) event.getLocalState();
Log.e("DROPPED", "?");
Log.e("DRAGGED VIEW = " + dragged.toString(), "?");
Log.e("TARGET = " + getResources().getResourceName(v.getId()), "?");
break;
case DragEvent.ACTION_DRAG_ENDED: break;
default: break;
}
return true;
}
这很好用,我的问题是,作为一个目标,我得到父根视图,而不是我想放置可拖动的特定布局。
我怎样才能实现我的目标在跌落结束时被识别?我是否需要比较X和Y坐标,还是有另一种更实用的方法?
我想指出mi父根视图里面有2个布局,但无论我在哪里结束drop事件总是得到父ID,而不是孩子ID。
答案 0 :(得分:0)
Okey,以防有人像我一样......问题是我在父布局中定义了setOnDragListener而不是我希望放置可拖动项目的子项。