- IndexOutOfBoundsException: Incon
- IndexOutOfBoundsException: Incon
- IndexOutOfBoundsException: Incon
- IndexOutOfBoundsException: Incon
- IndexOutOfBoundsException: Incon
- RecyclerView内部报错,刷新崩溃RecyclerVie
- recyclerview bug : IndexOutOfBou
- 安卓Tips之RecycleView下拉刷新数据的一个bug
- 再看IndexOutOfBoundsException: Inc
- java.lang.IndexOutOfBoundsExcept
很明显是数组越界问题
问题产生的根本原因就是数据集合不对应
数据集合不对应的原因在于使用页面下载了新的数据集,并且传递到了adapter里面,但是adapter里面缓存的position信息是前一个数据集的,而数据集却更新了,因为数据集的差异导致了与holder保存的东西不一致从而崩溃
图中第二个方法是正确的从这两个方法的对比中很清楚的可以看到,是由于更新了数据集合而没有更新缓存的item导致的。
说到这,其实翻一下adapter的众多方法你会发现解决的办法有许多,这是其中一种:
下载完数据之后使用
使用的更新方法goodlist是新下载的数据集,使用notifydatasetchange()的话我的也会有错,还使得刷新的特效没有了,使用这个方法不会有错还保留了特效效果。
网友评论