android - 如果可以的话,使用更具体的更改事件总是更有效。依靠 notifyDataSetChanged 作为最后的手段。回收视图
问题描述
将 android studio 更新为 arctic fox 后,我收到此警告。但我不知道通知数据更改的有效方法是什么。在我的代码中,我从网络调用填充适配器,然后我通知数据集更改,但编译器给了我这个:
如果可以的话,使用更具体的更改事件总是更有效。依靠 notifyDataSetChanged 作为最后的手段。回收视图
编辑问题:希望我们使用
DiffUtil文档
而不是 notifyDataSetChanged() 因为它更快。在medium上查看这篇文章。
解决方案
这意味着如果您需要在 recyclerview 中一次更改整个项目列表,请使用notifyDataSetChanged()
.
如果您需要更改特定项目,那么最好使用notifyItemChanged(position)
它,这样它就不会刷新和重新绑定整个数据集,如果数据集很大,这会影响性能。
所以这只是一个正常的建议或警告,没什么好担心的。:)
推荐阅读
- pm2 - pm2 日志在 5 天后消失
- c# - ASP.NET Core 5.0 MVC:使用 Html.RenderAction 的 CS1061 错误
- mongoose - Model.ensureIndexes() 和 Model.init() 之间的区别
- python - 如何打印一次 False 并停止为字典中的所有键打印 False?
- plugins - Svelte CKEditor5 数学插件(MathJax 或 Katex)
- java - 弹性搜索中的别名用例
- typescript - Jest 测试失败,ENOENT 没有这样的文件或目录(参考规范文件本身)
- android - 如何通过单击菜单项将一个片段转到另一个片段
- c++ - 使用可变参数模板实现类型列表替换操作
- python - TypeError: __init__() missing 1 required positional argument: ,我该如何解决这个问题?