Android RecycleView 中notifyItemRemoved遇到的那些坑, IndexOutOfIndexException、删除错乱,数组越界等终极解决方案,多人亲测可行

        在我们Android开发过程中要对RecycleView的某个item进行删除操作时,用notifyItemRemoved方法带来的动画效果和比较节省时间的 不用全盘刷新的,然而,会遇到错乱的坑,主要有三个,如下:

1.再删除后面的item,会发生错乱

2.再继续删,删到后面就会崩掉,数组越界

3.加上 notifyItemRangeChanged以后,如果快速删除,还是会有问题,因为这个方法里面开了多线程,而没有给出接口。


解决办法如下三步:

当你接口回调成功之后 刷新数据的时候 再补上第三步即可

1.mList.remove(position);

2.mAdapter.notifyItemRemoved(position);

3.mAdapter.notifyItemRangeChanged(position,mList.size());

虽然这也会导致大面积的刷数据,但是用肉眼还是发现的不明显,但是你要不加的话 就多个Bug 向你招手。。

原理就不跟大家讲解了 希望能帮到大家呀。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容