【问题标题】:RecylerView changing single parameter in a row?RecyclerView 连续更改单个参数?
【发布时间】:2017-03-05 06:30:01
【问题描述】:

我有 RecyclerView,单行包括文本、图像。加载数据后,单击按钮我想更改文本而不重新加载行的图像。我尝试使用 notifyItemChanged(position)。但它会重新加载图像。我使用 glide 加载图像,所以当我使用 notifyItemChanged(position) 时,会发生行闪烁

【问题讨论】:

  • 相反,您可以禁用闪烁...
  • 我的意思是你可以防止行闪烁...
  • 怎么样?它不是行..图像中出现闪烁
  • 在 Glide 中,同时创建请求。添加.dontAnimate选项

标签: android android-recyclerview android-glide notifydatasetchanged


【解决方案1】:

调用notifyItemChanged()后将重新加载整行
两种选择:
1) 禁用默认 recyclerview 项目动画

ItemAnimator animator = recyclerView.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
  ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}

2) 加载图片时使用占位符

查看此Glide official link 以解决问题 占位符

【讨论】:

  • 动画师应该帮忙,这是一个很好的巫师!但是,我认为第二个选项在这里不适用,因为图像保持不变;这意味着它将同步从内存缓存中加载,因此不会使用.placeholder,Glide 也不会播放任何动画。
  • 哦..是的。没错。
猜你喜欢
  • 1970-01-01
  • 2021-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 2010-12-21
相关资源
最近更新 更多