拖放到“列表视图”中
2022-09-02 22:43:52
我正在尝试在android(冰淇淋三明治)中实现拖放。因此,当拖动的对象到达的边缘时,我正在向相关方向滚动。问题是,当我们滚动时,有时适配器会根据需要创建新的s,而这些“new”之前没有收到事件,因此没有收到更新。有没有办法将事件也发送到这些视图?ListView
ListView
ListView
View
View
ACTION_DRAG_STARTED
DragEvent
我正在尝试在android(冰淇淋三明治)中实现拖放。因此,当拖动的对象到达的边缘时,我正在向相关方向滚动。问题是,当我们滚动时,有时适配器会根据需要创建新的s,而这些“new”之前没有收到事件,因此没有收到更新。有没有办法将事件也发送到这些视图?ListView
ListView
ListView
View
View
ACTION_DRAG_STARTED
DragEvent
查看 View 的源代码,我看到:
static final int DRAG_CAN_ACCEPT = 0x00000001;
int mPrivateFlags2;
boolean canAcceptDrag() {
return (mPrivateFlags2 & DRAG_CAN_ACCEPT) != 0;
}
mPrivateFlags2 是包私有的,不会由 SDK 公开。但是,您应该能够通过执行以下操作在子类中更改它:
try {
Field mPrivateFlags2 = this.getClass().getField("mPrivateFlags2");
int currentValue = mPrivateFlags2.getInt(this);
mPrivateFlags2.setInt(this, currentValue | 0x00000001);
} catch (Exception e) {
}