AAkira / ExpandableLayout

[Deprecated] An android library that brings the expandable layout with various animation. You can include optional contents and use everywhere.
Apache License 2.0
1.65k stars 325 forks source link

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException #97

Open ausichenko opened 7 years ago

ausichenko commented 7 years ago

Hello, thank you for the great library. I use "Expandable Layout" in my application, and sometimes I get the stacktrace:

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=65; index=-1 at android.text.StaticLayout.calculateEllipsis(StaticLayout.java:731) at android.text.StaticLayout.out(StaticLayout.java:643) at android.text.StaticLayout.generate(StaticLayout.java:427) at android.text.StaticLayout.(StaticLayout.java:144) at android.widget.TextView.makeSingleLayout(TextView.java:6471) at android.widget.TextView.makeNewLayout(TextView.java:6328) at android.widget.TextView.onMeasure(TextView.java:6704) at android.view.View.measure(View.java:17525) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1263) at android.widget.LinearLayout.onMeasure(LinearLayout.java:615) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1083) at android.widget.LinearLayout.onMeasure(LinearLayout.java:615) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at com.github.aakira.expandablelayout.ExpandableLinearLayout.onMeasure(SourceFile:109) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17525) at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1263) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.widget.ScrollView.onMeasure(ScrollView.java:337) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17525) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:728) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:464) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.support.design.widget.CoordinatorLayout.onMeasureChild(SourceFile:700) at android.support.design.widget.CoordinatorLayout.onMeasure(SourceFile:767) at android.view.View.measure(View.java:17525) at android.support.v4.widget.DrawerLayout.onMeasure(SourceFile:1081) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.support.v7.widget.ContentFrameLayout.onMeasure(SourceFile:135) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17525) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5464) at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2564) at android.view.View.measure(View.java:17525) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2022) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1175) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1393) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1063) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5807) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5319) at java.lang.reflect.Method.invoke(Method.java) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1016) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)

deeman30rus commented 7 years ago

seems like you have empty layout (nothing in it when layout created) Just try to add at least one element in xml, and try again. Worked for me.