[java] débutant questions sur les listes

Fermé
arwina - 21 juil. 2010 à 10:16
Tibo-K3 Messages postés 18 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 20 août 2013 - 22 juil. 2010 à 13:30
Bonjour,

J'ai un petit soucis de programmation, j'ai une liste qui contient des images, j'affiche une image de la liste et je souhaiterais qu'en appuyant sur un bouton je fasse défiler les images de ma liste, et que quel que soit la position de mon image dans la liste lorsque j'arrive au bout de la liste je puisse revenir au début, mais je n'arrive pas à le faire...pour le moment j'ai un java.lang.reflect.InvocationTargetException caused by java.lang.IndexOutOfBoundsException donc par le fait que j'arrive à la fin de ma liste...

Le code que j'ai actuellement dans l'action pour le bouton est le suivant :

int currentPositionImage = imagesList.getLevels().indexOf(image);
loadImageItemInContainerPhoto(imagesList.getLevels().get(currentPositionItem+1));

item = imagesList.getLevels().get((currentPositionItem+1)%itemsList.getLevels().size());
currentPositionItem+=1;

Que faudrait-il que je fasse pour résoudre mon problème ?

Merci d'avance pour vos réponses !



1 réponse

Tibo-K3 Messages postés 18 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 20 août 2013 3
Modifié par Tibo-K3 le 22/07/2010 à 13:31
2 Choses :

1- Pour revenir au début : rajoute dans ton code, juste après ta première ligne :

if ( currentPositionItem >= (itemsList.getLevels().size()-1) )
{
currentPositionItem = 0;
}

2- Fait bien gaffe entre tout tes +1, -1 etc que ton pointeur soit bien égal au maximum à "size()-1", puisque les indices vont de 0 à size-1 pour une liste de taille size !
0