【发布时间】:2019-12-05 01:39:49
【问题描述】:
寻找更新视图状态的解决方案,假设一个按钮出现在回收站视图的项目中。 示例可能是 Facebook 建议的朋友列表,您将请求发送给成员,按钮状态从添加朋友变为待处理。
我不想做的事情
- RecyclerView 完成数据更新
- 项目更新(这样图像在重绘时不会被轻弹)。
【问题讨论】:
-
您可以使用 DiffUtil 是一个实用程序类,它可以计算两个列表之间的差异并输出一个更新操作列表,将第一个列表转换为第二个列表。它可用于计算 RecyclerView 适配器的更新。
-
但是完整的视图持有者也会得到更新,对吧?我只想更新视图持有者中的某些视图。
-
不,不会。如果您有一些更改,它将触发 onBindViewHolder(holder: ViewHolder, position: Int, payloads: MutableList
) 而不是 onCreateViewHolder(parent: ViewGroup, viewType: Int)
标签: android android-recyclerview