问题:
使用notifyItemInserted(position)和notifyItemRemoved(position)对RecyclerView进行添加、删除操作时,如果连续操作,后面的position就会错乱。
解决方法:
- 统一使用
notifyDataSetChanged()方法刷新; - 结合
notifyItemRangeChanged(int positionStart, intitemCount)刷新,其中positionStart是添加或删除位置索引,itemCount是数据总数。
示例:
notifyItemInserted(position);
if (position != mData.size()) {
notifyItemRangeChanged(position, mData.size() - position);
}
notifyItemRemoved(position);
if (position != mData.size()) {
notifyItemRangeChanged(position, mData.size() - position);
}
本文探讨了在使用RecyclerView时,如何正确地使用notifyItemInserted和notifyItemRemoved方法,避免因连续操作导致的位置错乱问题。提出了使用notifyDataSetChanged或结合notifyItemRangeChanged进行数据更新的解决方案。
4320

被折叠的 条评论
为什么被折叠?



