admin管理员组

文章数量:1611548

   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 变量。

本文标签: ItemPositionInvalidInconsistencydetected