J'ai un problème lorsque j'essaie de supprimer des éléments dans une liste de tableaux. J'ai besoin de mettre des éléments sur d'autres tableaux, puis de supprimer ces éléments du tableau original. Je mets le code ci-dessous:Arrayle de défilement des exceptions lors de la deuxième fois
private void setOrderAnswers(int position) {
for (int i = 0; i < 4; i++) {
listAnswersAux.add(listAnswers.get((position * 4) + i));
}
for (int i = 0; i < 4; i++) {
listAnswers.remove((position * 4) + i);
}
}
L'erreur que j'ai une exception IndexOutOfBounds:
Caused by: java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
Je ne sais pas pourquoi j'ai cette exception lorsque je tente de supprimer cet index, mais quand je aller à l'index pour copier l'élément, il n'y a pas de problème. Je veux dire, l'index est OK car je peux voir l'élément avant de le supprimer.
Et j'ai toujours l'exception sur Indice = 10, je peux faire toutes ces opérations avant de passer à index = 10 (position = 2).
Quelqu'un peut-il m'aider? Merci beaucoup!
06-14 09:58:58.455 31337-31337/com.prodintec.am_motion E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.prodintec.am_motion, PID: 31337
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.prodintec.am_motion/com.prodintec.am_motion.QuizActivity}: java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
at java.util.ArrayList.get(ArrayList.java:411)
at com.prodintec.am_motion.QuizActivity.setOrderAnswers(QuizActivity.java:201)
at com.prodintec.am_motion.QuizActivity.randomQuestions(QuizActivity.java:168)
at com.prodintec.am_motion.QuizActivity.onCreate(QuizActivity.java:48)
at android.app.Activity.performCreate(Activity.java:6679)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Peut-être parce que vous avez supprimé le 10 élément sur la première manche? –
@Imrik pouvez-vous s'il vous plaît dire la taille de votre liste et quel type de liste utilisez-vous? – Jeeva
@imrik IndexOutOfBoundsException - Thrown pour indiquer qu'un index quelconque (tel qu'un tableau, une chaîne ou un vecteur) est hors de portée. selon les docs java. – Jeeva