【问题标题】:View Pager 2 /Recycler view crash for inconsistencyViewpager2 /Recyclerview 因不一致而崩溃
【发布时间】:2020-05-15 11:19:41
【问题描述】:

在我的应用程序中遇到此崩溃。认为这是 viewpager2 的一些问题,但无法得出结论。尝试了 notifyDatasetchanged() 但无法使用它。

Process: PID: 19449
      **java.lang.IndexOutOfBoundsException:**

     **Inconsistency detected.**


     **Invalid item position 0(offset:-1).state:5 
     androidx.viewpager2.widget.ViewPager2$RecyclerViewImpl{ee4a46e VFED..... ......ID 0,0-1080,1776 
     #7},
     adapter:abc.adapter.ABCPagerAdapter@c87b70f,
     layout:androidx.viewpager2.widget.ViewPager2$LinearLayoutManagerImpl@429b39c,
     context:abc.view.ABCActivity**


    @f6d7d59 at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java)
            at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java)
            at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java)
            at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java)
            at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java)
            at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java)
            at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java)
            at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java)
            at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java)
            at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java)
            at android.view.View.layout(View.java
            at android.view.ViewGroup.layout(ViewGroup.java)
            at androidx.viewpager2.widget.ViewPager2.onLayout(ViewPager2.java)
            at android.view.View.layout(View.java)
            at android.view.ViewGroup.layout(ViewGroup.java)
            at android.widget.LinearLayout.setChildFrame(LinearLayout.java)
            at android.widget.LinearLayout.layoutVertical(LinearLayout.java)
            at android.widget.LinearLayout.onLayout(LinearLayout.java:)
            at android.view.View.layout(View.java)
            at android.view.ViewGroup.layout(ViewGroup.java)
            at android.widget.FrameLayout.layoutChildren(FrameLayout.java:)
            at android.widget.FrameLayout.onLayout(FrameLayout.java:)
            at androidx.core.widget.NestedScrollView.onLayout(NestedScrollView.java)

【问题讨论】:

    标签: android android-recyclerview crash android-viewpager android-viewpager2


    【解决方案1】:
    java.lang.IndexOutOfBoundsException:
    

    当您尝试执行以下操作时出现此异常:

    (A) 如果 List/ArrayList 已满,则在 Arraylist 或 List 中添加一个元素。

    (B) 当你尝试从空 List/ArrayList 中删除一个项目时

    如果您通过提及您在哪个操作或哪个类中遇到此错误来简化您的问题,这很好

    【讨论】:

    • 这就是问题所在,这是确切的日志。无法找到它的确切类。
    • 分享你的适配器类和调用适配器的活动
    猜你喜欢
    • 1970-01-01
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 2011-03-13
    • 2013-03-09
    • 2015-12-08
    相关资源
    最近更新 更多