我正在使用 DynamicListView 中的拖放功能重新排列列表中项目的顺序。
它工作正常,除了与列表中的下一个交换项目不起作用。我只能将一个项目拖到至少两个位置,例如从位置 1 到 3,但不能从 1 到 2。
fragment :
mDynamicListView.enableDragAndDrop();
mDynamicListView.setDraggableManager(new TouchViewDraggableManager(R.id.icon));
适配器
@Override
public void swapItems(final int positionOne, final int positionTwo) {
HMObject firstItem = objects.set(positionOne, getItem(positionTwo));
notifyDataSetChanged();
objects.set(positionTwo, firstItem);
}
我是不是做错了什么?
最佳答案
使用您的示例代码,我建议:
public void swapItems(final int positionOne, final int positionTwo) {
HMObject firstItem = getItem(positionOne);
objects.set(positionOne, getItem(positionTwo));
objects.set(positionTwo, firstItem);
notifyDataSetChanged();
注意:主要区别在于firstItem
的赋值。
关于Android ListViewAnimations - 无法在 DynamicListView 中交换项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29328748/