Android,如何知道DragListener

时间:2015-12-24 17:02:41

标签: android drag

大家好,我正在尝试实施拖放自定义系统,而且我在最后一部分都在挣扎。在我的方法:

 @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。

1 个答案:

答案 0 :(得分:0)

Okey,以防有人像我一样......问题是我在父布局中定义了setOnDragListener而不是我希望放置可拖动项目的子项。