更新RecyclerView项ProgressBar而不在适配器上调用notifyItemChanged(int)

我正在尝试更新progressBar,它是其中一个RecyclerView项目的一部分。 我知道我可以用两种方式做到

方法1:通过调用notifyItemChanged(position)刷新项目行

方法2:使用LayoutMananger对象上的findViewByPosition()方法访问视图。

但不幸的是,他们都没有在我的案件中工作。

如果我使用第一个,整个项目将重新绘制,recyclerview的背景颜色为灰色,项目为白色,因此用户可以注意到整个项目刷新。

如果我尝试第二个,滚动时我会遇到问题。

我想像WhatsApp那样更新进度。 提前致谢

如果我使用第一个,整个项目将重新绘制,recyclerview的背景颜色为灰色,项目为白色,因此用户可以注意到整个项目刷新。

我也遇到了这个问题。 要修复它,您需要关闭默认项目更改animation。 一旦关闭项目更改animation,您的recyclerView项目将更新而不会闪烁/跳跃,允许您使用notifyItemChanged(int)而不会出现任何问题。

关闭默认项目更改animation,如下所示:

 ((SimpleItemAnimator) myRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);