報(bào)錯(cuò):java.lang.IndexOutOfBoundsException:Inconsistency detected. Invalid item position 5(offset:5).state:10 android.support.v7.widget.Recyclerview
錯(cuò)誤原因:在使用recycleView 的adapter.notifyDataSetChange()的時(shí)候出現(xiàn)的互订。
具體原因:adapter 中的數(shù)據(jù)list 原有5條數(shù)據(jù),list.clear()操作后,緊接著進(jìn)行了操作list.addAll(新的list) ,然后直接調(diào)用adapter.notifyDataSetChange()方法撕攒。就會(huì)報(bào)上面的錯(cuò)誤垛玻。
解決方法: 在list.clear() 后 就進(jìn)行adapter.notifyDataSetChange()進(jìn)行 互數(shù)據(jù)刷新慨默。然后在list.addAll() 后,進(jìn)行adapter.notifyDataSetChange()就可以。
我的理解:應(yīng)該是在list.clear()后脓杉,數(shù)據(jù)改變,此時(shí)重新填充了新數(shù)據(jù)简逮,此時(shí)進(jìn)行更新球散,數(shù)據(jù)改變兩次,會(huì)導(dǎo)致adapter 刷新的時(shí)候出現(xiàn)混亂