Android ListViewAnimations - 无法在DynamicListView中交换项目

时间:2015-03-29 11:51:34

标签: android android-listview drag-and-drop

我正在使用DynamicListView中的拖放功能来重新排列列表中项目的顺序。

它工作正常,除了用列表中的下一个项目交换项目不起作用。我只能拖动一个项目至少两个位置,例如从位置1到3,但不能从1到2。

片段:

    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);
}

我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

使用您的示例代码,我建议:

public void swapItems(final int positionOne, final int positionTwo) {
   HMObject firstItem = getItem(positionOne);

   objects.set(positionOne, getItem(positionTwo));
   objects.set(positionTwo, firstItem);

   notifyDataSetChanged();

注意:主要区别在于firstItem的分配。