我正在使用Android Drag and Drop框架。我想在调用startDrag方法后动态地向我的布局添加另一个View。问题是新添加的View没有收到拖动回调。我能想到的唯一方法是在startDrag之前添加视图,但要使其透明,这似乎是一个黑客攻击。有没有更好的方法在startDrag之后动态添加Views,以便它们接收正在进行的拖动的拖动事件?
以下是我所谈论的示例代码段:
case DragEvent.ACTION_DRAG_ENTERED:
View v = new View(context);
v.setOnDragListener(myOnDragListener);
container.addView(v);
break;
答案 0 :(得分:0)
我在这里找到了问题的解决方案:https://stackoverflow.com/a/15097552/396106
将视图更改为vis / invis的可见性黑客将触发要使用的新视图。
答案 1 :(得分:0)
在视图上调用invalidate()以重绘它
参考下文:
case DragEvent.ACTION_DRAG_ENTERED:
View v = new View(context);
v.setOnDragListener(myOnDragListener);
container.addView(v);
container.invalidate()
break;