ibrahimsn98 / SmoothBottomBar

A lightweight Android material bottom navigation bar library
MIT License
1.95k stars 253 forks source link

Crash - "IndexOutOfBoundsException" at starting of the app in Android 10 #55

Open HNY11 opened 4 years ago

HNY11 commented 4 years ago

Device Info - Samsung Galaxy M10s, Android 10 -one thing I like to share here is I noticed that error occurred when the device is offline and I noticed this issue in - Redmi Note 8, Android Version 9

In xml - <me.ibrahimsn.lib.SmoothBottomBar android:id="@+id/bottom_nav" android:layout_width="match_parent" android:layout_height="match_parent" android:background="?background_default_darker" android:layout_marginBottom="12dp" app:cornerRadius="8dp" app:elevation="12dp" app:iconSize="24dp" app:iconTint="@color/grey500" app:iconTintActive="@color/black" app:indicatorColor="@color/greyF6" app:itemFontFamily="@font/poppins" app:menu="@menu/bottom_nav_home" app:textColor="@color/black" />

In menu items, I used vector drawable.

crash info - java.lang.IndexOutOfBoundsException: Empty list doesn't contain element at index 0. at kotlin.collections.EmptyList.get(Collections.kt:35) at kotlin.collections.EmptyList.get(Collections.kt:23) at me.ibrahimsn.lib.SmoothBottomBar.onDraw(SmoothBottomBar.kt:391) at android.view.View.draw(View.java:23191) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.draw(View.java:23194) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at androidx.coordinatorlayout.widget.CoordinatorLayout.drawChild(CoordinatorLayout.java:1277) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.draw(View.java:23194) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at androidx.drawerlayout.widget.DrawerLayout.drawChild(DrawerLayout.java:1426) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.updateDisplayListIfDirty(View.java:22052) at android.view.View.draw(View.java:22921) at android.view.ViewGroup.drawChild(ViewGroup.java:5230) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4987) at android.view.View.draw(View.java:23194) at com.android.internal.policy.DecorView.draw(DecorView.java:1117) at android.view.View.updateDisplayListIfDirty(View.java:22066) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:588) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:594) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:667) at android.view.ViewRootImpl.draw(ViewRootImpl.java:4267) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4051) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3324) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2204) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9003) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996) at android.view.Choreographer.doCallbacks(Choreographer.java:794) at android.view.Choreographer.doFrame(Choreographer.java:729) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:7860) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

prakashsrv commented 3 years ago

Having the same issue

Fanom2813 commented 2 years ago

the same issue here