Ramotion / cardslider-android

:octocat: 🃏 Cardslider is a material design UI controller that allows you to swipe through cards with pictures and accompanying descriptions.
https://www.ramotion.com/cardslider-android-ui-app-development-library-to-interact-with-cards/
MIT License
2.34k stars 358 forks source link

Fatal Exception: java.lang.IndexOutOfBoundsException #29

Closed offline-first closed 5 years ago

offline-first commented 5 years ago

Hello, I have a bug which I cannot fix. Maybe you can help me? Crashlog:


       at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5885)
       at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5858)
       at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5854)
       at com.ramotion.cardslider.CardSliderLayoutManager.fillLeft(CardSliderLayoutManager.java:664)
       at com.ramotion.cardslider.CardSliderLayoutManager.fill(CardSliderLayoutManager.java:640)
       at com.ramotion.cardslider.CardSliderLayoutManager.onLayoutChildren(CardSliderLayoutManager.java:223)
       at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
       at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3641)
       at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:4194)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.support.constraint.ConstraintLayout.onLayout(ConstraintLayout.java:1915)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.widget.ScrollView.onLayout(ScrollView.java:2492)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1183)
       at android.support.design.widget.CoordinatorLayout.onLayoutChild(CoordinatorLayout.java:870)
       at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:889)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1231)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
       at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
       at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
       at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
       at com.android.internal.policy.DecorView.onLayout(DecorView.java:945)
       at android.view.View.layout(View.java:20854)
       at android.view.ViewGroup.layout(ViewGroup.java:6401)
       at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2956)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2643)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1780)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7827)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
       at android.view.Choreographer.doCallbacks(Choreographer.java:723)
       at android.view.Choreographer.doFrame(Choreographer.java:658)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
       at android.os.Handler.handleCallback(Handler.java:789)
       at android.os.Handler.dispatchMessage(Handler.java:98)
       at android.os.Looper.loop(Looper.java:164)
       at android.app.ActivityThread.main(ActivityThread.java:6944)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)```
golovin47 commented 5 years ago

Hello, @cortexdesign. There is no reason of crash in this log. But java.lang.IndexOutOfBoundsException in context of RecyclerView may be caused by trying to get list item which for example has position of 10 in adapter, which doesn't have eleven items.

offline-first commented 5 years ago

Thanks for your quick answer. I am using this Databinding Library https://github.com/evant/binding-collection-adapter

Unfortunately I cannot reproduce the error, but with a very small part of my users the error occurs. I suspect it is a problem with the state of onResume()... Thanks anyway for your help