es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

E/AndroidRuntime: EXCEPCIÓN FATAL: Clase principal java.lang.IndexOutOfBoundsException: Índice: 5, Tamaño: 5

Cuando ejecuto la aplicación, funciona, pero cuando la ejecuto de nuevo, obtengo este error. Este es un juego de preguntas:

E/AndroidRuntime: EXCEPCIÓN FATAL: principal
Proceso: com.example.fillintheblank, PID: 32237
java.lang.IndexOutOfBoundsException: Índice: 5, Tamaño: 5
en java.util.ArrayList.get(ArrayList.java:437)
en com.example.fillintheblank.filldisQuizActivity.SetNewQuestion(filldisQuizActivity.java:264)
en com.example.fillintheblank.filldisQuizActivity.access$400(filldisQuizActivity.java:33)
en com.example.fillintheblank.filldisQuizActivity$3$3.run(filldisQuizActivity.java:362)
en android.os.Handler.handleCallback(Handler.java:883)
en android.os.Handler.dispatchMessage(Handler.java:100)
en android.os.Looper.loop(Looper.java:230)
en android.app.ActivityThread.main(ActivityThread.java:7822)
en java.lang.reflect.Method.invoke(Native Method)
en com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:526)
en com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)

Aquí está mi código:

private void SetNewQuestion(){
qid++;
txtTotalQuesText.setText(qid + "/" + sizeofQuiz);
currentQuestion = list.get(qid);
enableOptions();
displayButtons();
updateQueAnsOptions();

}

Este es el tamaño de mi cuestionario:

int qid = 1; int sizeofQuiz = 5; // tamaño total del cuestionario

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según el mensaje de error, parece que el índice al que se accede en el ArrayList “list” supera su tamaño. En particular, el mensaje de error indica que se está accediendo al índice 5, pero el tamaño del ArrayList es solo 5.

    Una posible solución para este error podría ser verificar si el índice al que se accede es válido (es decir, menor que el tamaño del ArrayList) antes de intentar acceder a él. Esto se puede hacer utilizando una declaración condicional o mediante el uso de un bloque try-catch para manejar la IndexOutOfBoundsException. Otra solución podría ser asegurarse de que el ArrayList esté inicializado correctamente con el tamaño correcto antes de intentar acceder a sus elementos.

    Sin más contexto e información sobre el código, es difícil determinar la causa exacta del error y proporcionar una solución más específica.

Comments are closed.