Android Drag and Drop getClipData返回始终为null

Ant*_*hea 11 android drag-and-drop clip

我正在设计一个拖放操作,但我不知道如何访问我的数据.有没有人使用Clip Data对象?这是我的代码:

开始拖放:

ClipData dragData= ClipData.newPlainText("my", "test") );
                    v.startDrag(dragData, 
                            new MyDragShadowBuilder(v),
                              v, 0);
Run Code Online (Sandbox Code Playgroud)

听取事件:

case DragEvent.ACTION_DROP:{
    if (event.getClipDescription().getLabel().equals("my"))
           Log.d("myLog","Data:"+event.getClipData()+" "+event.getClipData().getItemCount());
Run Code Online (Sandbox Code Playgroud)

sam*_*sha 25

不是每个拖动事件都可以获取剪辑数据,但其中一些,如ACTION_DROP类型

在此输入图像描述

    dropableCanvas.setOnDragListener(new OnDragListener() {
        @Override
        public boolean onDrag(View v, DragEvent event) {
            switch (event.getAction()) {
            case DragEvent.ACTION_DRAG_STARTED:
                return true;
            case DragEvent.ACTION_DROP:
                ClipData clipData = event.getClipData();
                //...
                return true;
            default:
                return false;
            }
        }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述