将SetStableId与notifyItemMoved

时间:2019-06-05 01:31:06

标签: android android-recyclerview itemtouchhelper

我有一个recyclerview,可以在1分钟内刷新30次以上。 因为它具有稳定的行,但是部分内容保持更改(例如下载队列)

我还附加了 itemtouchhelper 用于功能(拖放,滑动)。

所以我放了setStableIds(true)getItemId(int position)

但是在那之后,由于试图掉落1件物品,由于掉落立即发生,我只能与相邻物品交换。

我搜索了一个原因,因为viewHolder具有自己的ID(无法回收),因此需要重新渲染。

只要用户放下一个项目,就会执行操作,因此我在 clearView 上实施了该操作。问题是我需要 notifymoved 来移动动画。这样用户就可以知道将物品放置在何处。

简而言之,当我删除 notifyItemMoved 时,删除了移动动画。
当我删除 SetStableIds

时,项目会一直闪烁并消耗掉

但是当notifyDataSetChanged时,我既希望移动动画又不要闪烁。 我该怎么办?

0 个答案:

没有答案