StaggeredGridLayoutManager報錯IndexOutOfBoundsException

E/AndroidRuntime: FATAL EXCEPTION: main
              Process: co.netlong.skyoto, PID: 26079
              java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
                  at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
                  at java.util.ArrayList.get(ArrayList.java:308)
                  at android.support.v7.widget.StaggeredGridLayoutManager$Span.calculateCachedStart(StaggeredGridLayoutManager.java:2357)
                  at android.support.v7.widget.StaggeredGridLayoutManager$Span.getStartLine(StaggeredGridLayoutManager.java:2374)
                  at android.support.v7.widget.StaggeredGridLayoutManager.checkSpanForGap(StaggeredGridLayoutManager.java:396)
                  at android.support.v7.widget.StaggeredGridLayoutManager.hasGapsToFix(StaggeredGridLayoutManager.java:345)
                  at android.support.v7.widget.StaggeredGridLayoutManager.checkForGaps(StaggeredGridLayoutManager.java:272)
                  at android.support.v7.widget.StaggeredGridLayoutManager.onScrollStateChanged(StaggeredGridLayoutManager.java:307)
                  at android.support.v7.widget.RecyclerView.dispatchOnScrollStateChanged(RecyclerView.java:3977)
                  at android.support.v7.widget.RecyclerView.setScrollState(RecyclerView.java:1219)
                  at android.support.v7.widget.RecyclerView.access$3900(RecyclerView.java:147)
                  at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:4128)
                  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
                  at android.view.Choreographer.doCallbacks(Choreographer.java:590)
                  at android.view.Choreographer.doFrame(Choreographer.java:559)
                  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
                  at android.os.Handler.handleCallback(Handler.java:739)
                  at android.os.Handler.dispatchMessage(Handler.java:95)
                  at android.os.Looper.loop(Looper.java:145)
                  at android.app.ActivityThread.main(ActivityThread.java:5835)
                  at java.lang.reflect.Method.invoke(Native Method)
                  at java.lang.reflect.Method.invoke(Method.java:372)
                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

使用viewpager+4個fragment

每個fragment中為swiperefreshlayout+recyclerview

出現(xiàn)上述錯誤,最終錯誤原因不在StaggeredGridLayoutManager,而是viewpager的狀態(tài)保存

解決方法:
viewpager.setOffscreenPageLimit(list.size() - 1);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評論 25 709
  • 2016年9月,工作日的午后醒來,看著電腦屏幕有些刺眼,聽著音樂瞇了一會,換歌??戳讼虑闆r,沒有工作要處理,繼續(xù)迷...
    此_時_彼_刻閱讀 1,059評論 0 0
  • 十年前的自己與現(xiàn)在的自己相遇 是不滿意,還是預(yù)期的結(jié)果? 我不想再站在你的背后,等你轉(zhuǎn)身 那我背道而行如何?
    嬌蠻公主閱讀 256評論 0 1
  • 其實就是想發(fā)表一下,然后讓封面有個文章! 有人說在哪跌倒就在哪趴著,然后股涌股涌的往前走。時間并沒有使自己長大太多...
    海藍(lán)伊閱讀 186評論 0 0
  • 今天寶寶打翻了一袋瓜子,我讓他撿起來,他邊撿邊說:媽媽不是跟你說過嗎,農(nóng)民伯伯很辛苦的,誰知盤中餐,粒粒皆...
    霞光暖陽閱讀 210評論 0 0

友情鏈接更多精彩內(nèi)容