RecycleView java.lang.IndexOutOfBoundsException 崩溃

发布于 2022-09-11 20:54:02 字数 2012 浏览 32 评论 0

我是在ViewPager中内嵌了两个fragment,每个fragment中各有一个RecycleView,当其中一个RecycleView上下滑动时(没有对数据列表进行操作),然后右滑到第二个RecycleView时(对数据列表进行了更换操作),再上下滑动(没有对数据列表进行操作)就会崩溃退出…………

如果第一个RecycleView不操作,直接滑动到第二个RecycleView上下滑动并不会报错…………

按照网上的各种教程的方法都试过了,也不行,不知道为什么。通过调试发现可能是第一个RecycleView上下滑动时记录了它的position或数据列表,到第二个RecycleView时position就突然变成第一个的position,感觉可能是这里有错,可是具体还是不知道什么错误,求助各位大佬帮帮忙吧…………

 java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{d37e593 position=36 id=-1, oldPos=-1, pLpos:-1 no parent} android.support.v7.widget.RecyclerView{53c3fae VFED..... ........ 0,0-1080,1920 #7f090096 app:id/home_tag_like_recyclerview_id}, adapter:com.oners.tingmusic.adapter.RecyclerTagPageAdapter@4a2514f, layout:com.oners.tingmusic.layoutmanager.MyLayoutManager@ffce0dc, context:com.oners.tingmusic.HomePageActivity@f01bf5a
        at android.support.v7.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:5610)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5792)
        at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:285)
        at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:342)
        at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:358)
        at android.support.v7.widget.GapWorker.prefetch(GapWorker.java:365)
        at android.support.v7.widget.GapWorker.run(GapWorker.java:396)
        at android.os.Handler.handleCallback(Handler.java:793)
        at android.os.Handler.dispatchMessage(Handler.java:98)
        at android.os.Looper.loop(Looper.java:173)
        at android.app.ActivityThread.main(ActivityThread.java:6698)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

诠释孤独 2022-09-18 20:54:02

虽然不太明白你的意思,但是一般对于索引越界,首先根据问题定位错误行,如果无法定位,重点检查所使用数据结构存取的地方,是否有错误。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文