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 - getLowestPositionedBottomColumn() #80

Closed phyora closed 10 years ago

phyora commented 10 years ago

I am seeing quite a few exception reports caused by an ArrayIndexOutOfBoundsException in the getLowestPositionedBottomColumn method of the StaggeredGridView class.

Has anyone else noticed this?

Here is the full stacktrace:

java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
       at com.etsy.android.grid.StaggeredGridView.getLowestPositionedBottomColumn(StaggeredGridView.java:1078)
       at com.etsy.android.grid.StaggeredGridView.getLowestPositionedBottom(StaggeredGridView.java:1069)
       at com.etsy.android.grid.StaggeredGridView.b(StaggeredGridView.java:376)
       at com.etsy.android.grid.StaggeredGridView.a(StaggeredGridView.java:362)
       at com.etsy.android.grid.ExtendableListView.a(ExtendableListView.java:1482)
       at com.etsy.android.grid.ExtendableListView.a(ExtendableListView.java:1398)
       at com.etsy.android.grid.ExtendableListView.e(ExtendableListView.java:1345)
       at com.etsy.android.grid.ExtendableListView.layoutChildren(ExtendableListView.java:586)
       at com.etsy.android.grid.StaggeredGridView.layoutChildren(StaggeredGridView.java:328)
       at com.etsy.android.grid.ExtendableListView.onLayout(ExtendableListView.java:507)
       at com.etsy.android.grid.ExtendableListView.n(ExtendableListView.java:2037)
       at com.etsy.android.grid.ExtendableListView.e(ExtendableListView.java:2016)
       at com.etsy.android.grid.b.onChanged(ExtendableListView.java:2075)
phyora commented 10 years ago

I'd be surprised if I were the only one getting this exception. It's currently by far my most common issue reported in Crashlytics. Has no one else experienced this?

blundell commented 10 years ago

You've got a proguarded build there, can you reproduce it without proguard (to disregard the possibility)