我已经使用适配器和所有内容实现了回收站视图。我可以用
反转项目列表Collections.reverse(items);
然后运行列表以通知适配器此更改
final int end = items.size() - 1;
for (int i = 0; i < end; i++) {
mAdapter.notifyItemMoved(0, end - i);
}
到目前为止一切顺利。我现在要做的是交换该列表中的两个项目并为此更改设置动画。
Collections.swap(items, 5, 8);
mAdapter.notifyItemMoved(5, 8);
mAdapter.notifyItemMoved(8, 5);
问题是,这不是动画,我无法找出原因。
我确实想要类似于简单的反向动画。
有什么想法吗?
答案 0 :(得分:0)
我写这篇文章后不久,我又砍了一下,找到了原因。事实证明,我的问题与以下线程有关:
No animation on item removal on RecyclerView
我确实弄乱了我的notifyDataSetChanged()和notifyItemMoved(0,1)调用。调用notifyDataSetChanged()后,交换项目时不会生成动画,notifyItemMoved也无效。