0

根据Android文档:

启用稳定 ID 将使 recyclerview 在更新列表时做更少的工作。即使我们调用 notifyDataSetChanged(),它也不必处理整个适配器的完整重新排序,因为它可以找到某个位置的 item 是否与之前相同,这导致 recyclerview 的性能更快。

它还指出我应该更喜欢notifyOnItemChanged(), notifyOnItemRemoved(), notifyOnItemInseted() etc.而不是,notifyDataSetChanged()并提示我将其用作最后的手段。

但是,如果我只是想要一个不支持在位置添加/删除/替换等操作并且它旨在一次替换整个列表的recyclerview,会发生什么?例如,我可能想要显示热门电影或评分最高的电影,这意味着将更改 recyclerview 中的整个内容。在这种情况下,是否更简单:

setHasStableIDs(False);
notifyDataSetChanged();
4

0 回答 0