java.lang.IndexOutOfBoundsException: index 2 invalide, taille 2

Scénario:-

J'ai deux ArrayList

liste contient des images

postList contient la position des images sélectionnées

maintenant, quand je suis en sélectionnant les images et appuyez sur la touche menu supprimer ,il faut supprimer les images sélectionnées .

lorsque j'exécute le code dans debug ,sa fonctionne bien et donner le désir de sortie.

mais quand je suis en l'exécutant en mode normal ,le son s'écraser et de donner ci-dessus exception.

if (posList.size() > 0)
{
    Toast.makeText(getBaseContext(), "i value" +posList.size(), 
                   Toast.LENGTH_SHORT).show();
    for (int i = 0; i < posList.size(); i++)
        appAdp.list.remove(appAdp.list.get(posList.get(i)));
    appAdp.notifyDataSetChanged();
    posList.clear();
    Toast.makeText(getBaseContext(), "You deleted selected items",
                   Toast.LENGTH_SHORT).show();              
}
return true;

postList valeurs ici

@Override
        public void onItemCheckedStateChanged(ActionMode mode, int position, long id,
                boolean checked) {
            posList.add(position);

d'erreur indiquant ici

appAdp.list.remove(appAdp.list.get(posList.get(i)));

logcat:-

java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2

at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)

at java.util.ArrayList.get(ArrayList.java:304)

pourquoi sa se comporter comme cela ,pas la moindre idée.

Merci pour toute aide.

source d'informationauteur Unknown