Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


CoordinatorLayout bloquea la aplicación con IndexOutOfBoundsException

Estoy recibiendo un bloqueo (de Crashlytics, incapaz de reproducir localmente) en mi aplicación de la función onLayout en el CoordinatorLayout :

 Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255) at java.util.ArrayList.get(ArrayList.java:308) at android.support.design.widget.CoordinatorLayout.onLayout(SourceFile:848) at android.view.View.layout(View.java:15237) at android.view.ViewGroup.layout(ViewGroup.java:4864) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515) at android.widget.FrameLayout.onLayout(FrameLayout.java:450) at android.view.View.layout(View.java:15237) at android.view.ViewGroup.layout(ViewGroup.java:4864) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742) at android.widget.LinearLayout.onLayout(LinearLayout.java:1651) at android.view.View.layout(View.java:15237) at android.view.ViewGroup.layout(ViewGroup.java:4864) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515) at android.widget.FrameLayout.onLayout(FrameLayout.java:450) at android.view.View.layout(View.java:15237) at android.view.ViewGroup.layout(ViewGroup.java:4864) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742) at android.widget.LinearLayout.onLayout(LinearLayout.java:1651) at android.view.View.layout(View.java:15237) at android.view.ViewGroup.layout(ViewGroup.java:4864) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515) at android.widget.FrameLayout.onLayout(FrameLayout.java:450) at android.view.View.layout(View.java:15237) at android.view.ViewGroup.layout(ViewGroup.java:4864) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2323) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2029) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1192) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6231) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:816) at android.view.Choreographer.doCallbacks(Choreographer.java:619) at android.view.Choreographer.doFrame(Choreographer.java:588) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:802) at android.os.Handler.handleCallback(Handler.java:808) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:5388) at java.lang.reflect.Method.invokeNative(Method.java) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655) at dalvik.system.NativeStart.main(NativeStart.java) 

Puesto que no he sido capaz de reproducir esto yo mismo y tengo 6 actividades con CoordinatorLayouts, ¿cómo puedo proceder para depurar esto?

Editar : parece que se solucionará en la próxima versión de la biblioteca de soporte

  • Obtener la hora y la fecha actuales en una escala de tiempo de 24 horas
  • Causado por: java.lang.IllegalStateException: ParsePlugins ya está inicializado
  • Gran uso de memoria en las notificaciones
  • Mejora el adaptador grande ListView deslizamiento suave, a veces espasmódico
  • Error de bucle en el emulador de Android
  • JSON problema de análisis no resuelto
  • OnActivityResult Para Fragmento
  • ¿Cómo se envía una matriz de objetos personalizados entre actividades?
  • 2 Solutions collect form web for “CoordinatorLayout bloquea la aplicación con IndexOutOfBoundsException”

    Tuve un problema similar y bajar a una versión más antigua de la Biblioteca de soporte de Android (v24.1.1) funcionó para mí. Parece ser un problema en la Biblioteca, puede comprobar el problema de Android Issue Tracker aquí .

    ACTUALIZACIÓN 1 : Parece que va a ser resuelto en la próxima versión de la Biblioteca de Soporte para Android (v24.2.1), gracias Daniel Rampelt por la actualización

    UPDATE 2 : 24.2.1 está fuera a partir de hoy y el error parece estar resuelto, al menos no podría reproducirlo con la versión actual. – PattaFeuFeu

    UPDATE 3 : 24.2.1 introdujo nuevo bug: post – AAverin

    Incluso tuve el mismo problema

    Mi problema fue debido a la presentación de snackbar i incluido mostrando código de snackbar con try catch ahora su multa workng

      /** * try catch becuase of SupportLibrary bug link "https://code.google.com/p/android/issues/detail?id=220762" * * @param v */ public void showConnectionErr(View v) { try { Snackbar b = getFailureSnackBar(v, "Bluetooth connection lost", false); b.setAction("RETRY", new View.OnClickListener() { @Override public void onClick(View v) { new ConnectThread().execute(); } }); b.show(); } catch (Exception e) { e.printStackTrace(); } } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.