etsy / AndroidStaggeredGrid

An Android staggered grid view which supports multiple columns with rows of varying sizes.
https://github.com/etsy/AndroidStaggeredGrid
4.76k stars 1.13k forks source link

ArrayIndexOutOfBoundsException #62

Open pdor opened 10 years ago

pdor commented 10 years ago

Issue in version 1.0.4 (after #53 fix)

Issue occurs if you turn the device and start scrolling

java.lang.ArrayIndexOutOfBoundsException: length=3; index=3
        at com.etsy.android.grid.StaggeredGridView.getChildBottom(StaggeredGridView.java:630)
        at com.etsy.android.grid.ExtendableListView.fillGap(ExtendableListView.java:1261)
        at com.etsy.android.grid.ExtendableListView.moveTheChildren(ExtendableListView.java:1229)
        at com.etsy.android.grid.ExtendableListView.scrollIfNeeded(ExtendableListView.java:1055)
        at com.etsy.android.grid.ExtendableListView.onTouchMove(ExtendableListView.java:876)
        at com.etsy.android.grid.ExtendableListView.onTouchEvent(ExtendableListView.java:696)
        at android.view.View.dispatchTouchEvent(View.java:7350)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2412)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2147)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2418)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2161)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2139)
        at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1476)
        at android.app.Activity.dispatchTouchEvent(Activity.java:2487)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2087)
        at android.view.View.dispatchPointerEvent(View.java:7535)
        at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3415)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3347)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4456)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4434)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4538)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171)
        at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
        at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:163)
        at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4506)
        at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4557)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
        at android.view.Choreographer.doCallbacks(Choreographer.java:555)
        at android.view.Choreographer.doFrame(Choreographer.java:523)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
        at android.os.Handler.handleCallback(Handler.java:615)
        at android.os.Handler.dispatchMessage(Handler.java:92)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4921)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)