目前,我在recyclerview中执行拖放项时遇到问题。 我正在参考https://github.com/iPaulPro/Android-ItemTouchHelper-Demo 但是当在适配器中执行函数时:
mListBookMark是Object的ArrayList
@Override
public boolean onItemMove(int fromPosition, int toPosition) {
Collections.swap(mListBookMark, fromPosition, toPosition);
notifyItemMoved(fromPosition, toPosition);
return true;
}
当我将项目从位置a拖动到位置b但是当完成拖动回收器视图时没有更改数据。 我该怎么办? 请给我一些建议!谢谢。
答案 0 :(得分:6)
尝试在代码中添加notifyItemChanged()
,如下所示:
@Override
public boolean onItemMove(int fromPosition, int toPosition) {
Collections.swap(mListBookMark, fromPosition, toPosition);
notifyItemMoved(fromPosition, toPosition);
notifyItemChanged(fromPosition);
notifyItemChanged(toPosition);
return true;
}
这应该根据新的位置更新视图。