Android RecyclerView使用notifyItemRemoved()移除数据时数据错乱

释放双眼,带上耳机,听听看~!

在使用notifyItemRemoved()这个方法时,由于该方法不会使position及其之后位置的itemView重新onBindViewHolder,重新刷新后面的数据会导致下标错乱。有可能产生一些坑爹的bug。解决方法,通知其后数据刷新,并且一定要记得移除源数据源中要移除的数据。

 mDeliveryOrderList.remove(i);
mDeliveryAdapter.notifyItemRemoved(i);
if (mGetPosition != mDeliveryOrderList.size())
mDeliveryAdapter.notifyItemRangeChanged(mGetPosition,mDeliveryOrderList.size() - mGetPosition);

最后一条的时候不用通知刷新了。

人已赞赏
Android文章

Android使用ZXing扫描在部分手机上扫描变形解决办法

2021-1-7 12:04:43

Android文章

Android检测当前是否在主线程内

2021-1-7 15:05:11

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索