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?

  • Conversión de YUV a RGB por fragment shader
  • Android Google Plus API - PeopleApi.loadConnected devuelve 0 personas
  • Transición de elementos compartidos: actividad en fragmento anidado en otra actividad
  • Android Development: Tener un AsyncTask en un archivo de clase por separado
  • ¿Cómo evito el escalado en Android Imageview?
  • Problema con Expanding Multi-Level ExpandableListView
  • Editar : parece que se solucionará en la próxima versión de la biblioteca de soporte

  • El icono del menú de opciones de Android no se mostrará
  • ¿Qué vista se debe utilizar para el nuevo diseño del material?
  • El emulador de Android ya no empieza
  • Realidad aumentada (AR) en HTML5 y WebGL
  • Solicitud de contraseña en android
  • La transición de elementos compartidos no tiene el comportamiento esperado
  • 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.