2013-02-14 5 views
0

J'essaye de créer une vue de liste pour montrer des images verticalement. Je me demandais s'il y avait un moyen de répéter des images dans la liste lorsque l'utilisateur a fait défiler jusqu'à la fin de la liste. par exemple. Si la liste contient 3 images, après défilement jusqu'à la 3ème et dernière image, les mêmes images doivent être répétées dans l'ordre 1,2,3. Tellement aimable donnant un effet de répétition circulaire au spectateur. Existe-t-il une autre option en dehors de la vue liste?Android: Répétition List View

Appréciez toutes les suggestions.

Répondre

0

Vous pouvez obtenir cet effet avec un adaptateur personnalisé.

CommonsWare a fait un que vous pouvez réutiliser si vous le souhaitez: cwac-endless

Si vous cherchez à créer vous-même, il vous pouvez bien sûr faire aussi. À l'intérieur de votre adaptateur, ce que vous devez faire est de renvoyer Integer.MAX_VALUE à partir de la méthode getCount().

Ensuite, à l'intérieur de votre getView(), utilisez modulus pour "convertir" un plus grand nombre en un nombre inférieur à celui de la plage pour le nombre d'éléments que vous avez réellement. à savoir si vous avez un tableau d'id image de vous pourriez faire quelque chose comme ça dans votre getView():

mImgView.setImageResource(imgs[pos % 3]); 

Vous pouvez faire le module intérieur de getItem() au lieu de getView() En fait, c'est probablement un meilleur idée.

+0

Merci monsieur, cela a fonctionné. Je n'avais qu'un seul adaptateur personnalisé qui me manquait: mImgView.setImageResource (imgs [pos% 3]); – user1935235