Aller au contenu

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

jok

[Résolu] Utilisation de Fragment obligatoire pour une navigation horizontale ?

Recommended Posts

Bonjour,

Depuis quelques semaines, je suis sur un projet qui a pour but d'afficher une sorte de diaporama d'images récupérées dynamiquement depuis un dossier et affichées à l'écran une à une. La navigation d'image en image se fait à l'aide d'un "swipe" horizontal, j'utilise pour cela un ViewPager.

Tout fonctionne bien pour le moment, mais je souhaiterais ajouter un système de Tab permettant d'aller à des ImageView bien spécifiques, ce qui remet en cause pas mal de choses dans mon développement, notamment sur la bonne utilisation du ViewPager.

Tout d'abord, voici un exemple de ce que cela peut donner graphiquement :

http://d.pr/i/TME2

Ma première question est : y a t-il un moyen de récupérer une ImageView précise en utilisant un PagerAdapter ou faut-il absolument passer par un FragmentPagerAdapter (qui lui permettra de récupérer une image contenue dans un Fragment grâce à une fonction getItem(int arg0))?

Dans le cas où je dois effectivement passer par une liste de Fragment, est-ce que la solution est adaptée à mon cas puisque je dois afficher un très grand nombre d'images ? Si oui, comment puis-je faire une liste dynamique de Fragment ?

Si vous avez des questions ou des conseils à me donner sur ce type de navigation, n'hésitez pas car j'avoue être un peu perdu.

Merci d'avance !

EDIT

Je suis parti sur la solution du FragmentPagerAdapter, avec un Fragment contenant mes ImageView. Maintenant que j'arrive à passer les bons paramètres pour récupérer l'instance souhaitée de mon Fragment (par exemple : monFragment{4139b9c8}) grâce à la méthode getItem(i), il faut que je réussisse à trouver comment rafraîchir ma FragmentActivity pour que le bon Fragment soit affiché. Si vous avez des idées, n'hésitez pas !

EDIT

J'ai trouvé !

Il ne faut pas utiliser la méthode getItem(i) du FragmentPagerAdapter mais il faut utiliser la méthode setCurrentItem(id) du ViewPager pour afficher le fragment correspondant. On peut aussi passer un booléen en deuxième argument pour afficher ou non un smoothScroll jusqu'à l'item sélectionné. Plus d'infos ici.

Partager ce message


Lien à poster
Partager sur d’autres sites





×
×
  • Créer...