在我的应用程序片段(第一个片段),其中用户可以按下项目和应用程序将显示片段与列表(第二个片段),其中用户可以放下捕获的项目。 代码:在调用dragndrop后显示片段
public void startDragNDrop(){
showFragmentWithList();
JSONObject object = new JSONObject();
object.put(Constants.PARAM_ID, getId());
ClipData data = ClipData.newPlainText("", object.toString());
View.DragShadowBuilder shadowBuilder = new View.DragShadowBuilder(mMainLayout);
mMainLayout.startDrag(data, shadowBuilder, mMainLayout, 0);
}
而当第二个片段捕捉ACTION_DROP
将关闭自己。它运作良好,但如果用户移除手指比方法完成他们的工作更快,则dragndrop不会启动,第二个片段不会收到dragndrop事件,因为结果新片段不会消失。
我试图通过在第一个片段中设置dragndrop监听器来修复它,并且它会捕获ACTION_DRAG_STARTED
它会调用showFragmentWithList()
并显示片段。但是我遇到了新问题,View.OnDragListener
不适用于第二个片段中的任何视图。有人可以帮我解决这个问题吗?