IndexOutOfBounds en Spinner?
Tengo un problema con la interpretación de la pila de traza .. La peoblem es que no hay clase de mi paquete y por lo que es difícil para mí para averiguar lo que está sucediendo .. Como rastro en barbecho, creo que se trata de un adaptador y spinner , Pero en esa página tengo 6 spinners, los depuro todos y no encontré nada raro (como selectedItemPosition o algo) ..
Tal vez alguien tenía un problema similar? Aquí está el rastro. Si necesitas algún código, dime
- Android cómo obtener el elemento seleccionado de data spinner
- ¿Cómo crearía un Spinner para su uso como elemento de acción?
- Spinner con elementos de casilla de verificación, ¿es posible?
- ID de configuración de los elementos de Spinner
- La eliminación del último elemento de la ruleta suprime toda la lista
Uncaught handler: thread main exiting due to uncaught exception java.lang.IndexOutOfBoundsException at java.util.Arrays$ArrayList.get(Arrays.java:72) at android.widget.ArrayAdapter.getItem(ArrayAdapter.java:298) at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:351) at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323) at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:198) at android.view.View.measure(View.java:7987) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888) at android.widget.LinearLayout.measureVertical(LinearLayout.java:350) at android.widget.LinearLayout.onMeasure(LinearLayout.java:278) at android.view.View.measure(View.java:7987) at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:893) at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) at android.widget.ScrollView.onMeasure(ScrollView.java:276) at android.view.View.measure(View.java:7987) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:888) at android.widget.LinearLayout.measureVertical(LinearLayout.java:350) at android.widget.LinearLayout.onMeasure(LinearLayout.java:278) at android.view.View.measure(View.java:7987) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023) at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) at android.view.View.measure(View.java:7987) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3023) at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) at android.view.View.measure(View.java:7987) at android.view.ViewRoot.performTraversals(ViewRoot.java:763) at android.view.ViewRoot.handleMessage(ViewRoot.java:1633) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4363) 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:877) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635) at dalvik.system.NativeStart.main(Native Method)
No se que hacer..
- Spinner no aplica el atributo dropDownSelector
- SetSelection en Spinner basado en rowId
- Establecer el texto Gujarati en Spinner en Android
- Cerrar Spinner en clic fuera de Spinner
- Android: menú desplegable de Spinner con el elemento seleccionado en la posición superior
- Android Spinner Gravity No funciona
- Spinner con par clave-valor
- ¿Cómo hago para que el estado "deshabilitado" de un Spinner esté deshabilitado?
Vea si tiene setSelection () llamado en cualquiera de los hilanderos que pueden tener un índice que sea mayor que el tamaño del adaptador del hilandero. Por ejemplo, si su hiladora tiene dos elementos y si llama a setSelection (2), esto dará lugar a la excepción IndexOutOfBoundsException.
Inspeccione cuidadosamente el registro, busque otro rastro de pila por encima o por debajo del que ha publicado. He tenido esto me pasa un par de veces. Cada vez que pienso que mi código no se hace referencia en el rastro de la pila, miro una segunda vez y lo encuentro.
Para encontrar qué hilandero es el que tiene el problema:
- Hacer una copia de seguridad de su página
- Eliminar 5 de los 6 hilanderos
- Prueba de la página
- Repita para mantener sólo 1 hilandero en el momento, hasta que haya hecho para probar cada hilandero en su página
Eso es lo que haría. Espero que esto sea de ayuda.
Al seguir el comentario de @FrancescoR, este código puede ayudarle a evitar que su código se bloquee mientras intenta localizar la llamada incorrecta. Tuve que hacer esto una respuesta porque añadir código en los comentarios fue bastante desagradable.
private void spinnerSetSelectionChecked(Spinner spin, int index) { spinnerSetSelectionChecked(spin, index, true); } private void spinnerSetSelectionChecked(Spinner spin, int index, boolean animate) { final int count = spin.getAdapter().getCount(); if( (count > 0) && (index < count) ) { spin.setSelection(index, animate); } else { // do nothing } }