java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionGoo

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionGoodsViewHolder{883183d position=18 id=-1, oldPos=-1, pLpos:-1 no parent} androidx.recyclerview.widget.RecyclerView{a78a70d VFED..... .......D 0,0-1080,1872 #7f080190 app:id/recycler_view}, adapter:com.taoke.adapter.Goods3Adapter@95346c2, layout:androidx.recyclerview.widget.StaggeredGridLayoutManager@4106cd3, context:com.taoke.StoreSearchActivity@3920cf1

 

出现上面问题,先从manager说起 StaggeredGridLayoutManager,一般是因为recyclerview的数据错乱导致的,比如有很多地方需要更新recycle view的数据,更新会清除之前的数据,也就是要对数据进行clear一下,然后在加载数据出错原因也就在这儿,因为clear过后,manager里面可能还没有发生改变。所以后面滑动recycleview的时候导致了数据错乱。 解决方法就是:在clear过后马上就更新一下adapter即可。如:

lists.clear();//清理数据
adapter.notifyDataSetChanged();//直接更新adapter,将残留数据杀掉
initData(isGaiBain,visibility,1,fl, 1, refreshLayout);//在加载新数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值