【发布时间】:2019-10-18 22:34:44
【问题描述】:
我目前正在使用回收站视图的hasStableIds,我有以下观察结果:
1) 当hasStableIds = false:
- 一旦调用了
notifyDataSetChanged(),它会将所有视图变为脏视图并再次回收它们,因此将为每个项目调用onCreateViewHolder()和onBindViewHolder()。
2) 当hasStableIds = true:
- 一旦
notifyDataSetChanged()被调用,它将检查id,然后决定是否为recyclerView项目创建一个viewHolder。如果数据集没有改变,那么它只会再次调用onBindViewHolder()而不是onCreateViewHolder()。
因此,根据上述行为,我很困惑我们是否应该始终将我们的 recyclerview 与hasStableIds = true 一起使用,以避免再次创建视图持有者?或者有什么具体的条件可以使用吗?
【问题讨论】:
标签: android android-recyclerview