ArrayAdapter y ListView – ArrayIndexOutOfBoundsException

Realmente espero que alguien me ayude con esto. He estado atrapado en ella para siempre. De vez en cuando, cuando alguien está usando mi aplicación, forzará cerrar con esta excepción:

java.lang.ArrayIndexOutOfBoundsException at android.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:3572) at android.widget.AbsListView.trackMotionScroll(AbsListView.java:2487) at android.widget.AbsListView.onTouchEvent(AbsListView.java:2001) at android.widget.ListView.onTouchEvent(ListView.java:3234) at android.view.View.dispatchTouchEvent(View.java:3709) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:874) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1695) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1116) at android.app.Activity.dispatchTouchEvent(Activity.java:2068) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1679) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:924) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1695) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1116) at android.app.Activity.dispatchTouchEvent(Activity.java:2068) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1679) at android.view.ViewRoot.handleMessage(ViewRoot.java:1697) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4568) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at dalvik.system.NativeStart.main(Native Method) 

Sin embargo, no puedo entender por qué. Es relativamente raro, no reproducible, y el stacktrace es completamente inútil porque no incluye ninguno de mi código.

¿Es un error en el propio Android?

¿Qué versión de Android está ejecutando? De lo que puedo decirle a su adaptador está devolviendo el recuento equivocado de getViewTypeCount () (o está cambiando el tipo de vista de forma dinámica, lo cual es un gran error).

Además de lo que dijo Romain , parece importante que el tipo de vista más grande sea más pequeño que el tipo de vista.

Tenía dos tipos de vista definidos (por lo que alguna vez razón) con 1 y 2 y devuelto 2 en getViewTypeCount() que me dio la misma excepción que anteriormente. La re-indexación de los tipos a 0 y 1 resolvió el problema.

  • Cómo alinear el texto de ListView a la derecha en Android?
  • ¿Hay algo como NSDictionary en android?
  • Omitir una fila en la vista de lista
  • ¿Por qué el listview.setAdapter (_adapter) bloquea dos veces la aplicación?
  • ¿Cómo mantener la posición de ListView al usar las nuevas API de Loader?
  • Cómo hacer que algunos elementos de un listview no se pueden hacer clic?
  • RequestLayout () incorrectamente llamado por android.widget.RelativeLayout android
  • Vista de lista optimizada con 1k lista de objetos
  • ¿Cómo puedo utilizar el botón OnClick en ListView personalizado con View Holder
  • Array Adapter notifyDataSetChanged () no funcionará
  • Android ListView: cómo seleccionar un elemento?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.