在我们Android开发过程中要对RecycleView的某个item进行删除操作时,用notifyItemRemoved方法带来的动画效果和比较节省时间的 不用全盘刷新的,然而,会遇到错乱的坑,主要有三个,如下:
1.再删除后面的item,会发生错乱
2.再继续删,删到后面就会崩掉,数组越界
3.加上 notifyItemRangeChanged以后,如果快速删除,还是会有问题,因为这个方法里面开了多线程,而没有给出接口。
解决办法如下三步:
当你接口回调成功之后 刷新数据的时候 再补上第三步即可
1.mList.remove(position);
2.mAdapter.notifyItemRemoved(position);
3.mAdapter.notifyItemRangeChanged(position,mList.size());
虽然这也会导致大面积的刷数据,但是用肉眼还是发现的不明显,但是你要不加的话 就多个Bug 向你招手。。
原理就不跟大家讲解了 希望能帮到大家呀。