发布于 2021-07-31 17:40:38
这意味着,如果您需要立即更改整个项目列表在回收视图,然后使用notifyDataSetChanged()。
如果您需要更改特定的项,那么最好使用notifyItemChanged(position),这样它就不会刷新和重新绑定整个数据集,如果数据集很大,这会影响性能。
所以这只是一个正常的建议或者警告,没什么好担心的。:)
发布于 2021-08-12 09:40:51
函数notifyDataSetChanged本质上考虑了数据集中的所有数据已经更改。这将导致重新绘制使用此数据的所有VISIBLE视图。当只有一些数据发生更改时,这是不必要的。
您需要标识数据已更改的位置,并通知适配器只更新这些项。
您可以使用此方法通知特定位置的更改。
发布于 2021-10-11 06:48:02
这只是安卓工作室的一个建议,更新RecyclerView中的数据。
此建议仅使用特定的位置更新(如,notifyItemChanged(int)、notifyItemInserted(int)、notifyItemRemoved(int)、notifyItemRangeChanged(int、int)、notifyItemRangeInserted(int、int)、notifyItemRangeRemoved(int、int) )通知回收器视图项中的更改。
notifyDataSetChanged()应作为最后的手段或作为最后的行动方针。此函数将再次重新初始化和重新绑定所有视图,从而降低性能。
https://stackoverflow.com/questions/68602157
复制相似问题