java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 6(offset:6).state:9
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java)
at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java)
at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java)
at android.support.v7.widget.RecyclerView.scrollByInternal(RecyclerView.java)
at android.support.v7.widget.RecyclerView.onTouchEvent(RecyclerView.java)
at android.view.View.dispatchTouchEvent(View.java:7706)
1 原因: 下拉刷新的时候要清空数据,从第一页开始请求数据。也就是说list.clear() *** 作后,紧接着进行了 *** 作下拉刷新,数据还没返回的时候,又下拉刷新了一次。所以导致报上面的错误。
2 解决方法: 在list.clear() 后 就进行adapter.notifyDataSetChange(),在数据没返回的时候,你 *** 作下拉刷新就没问题了。然后在list.addAll() 后,进行adapter.notifyDataSetChange()就可以。
还有一个办法就是 *** 作下拉刷新后,等待数据返回了才能进行下一次的下拉刷新。定义一个boolean 变量。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)