0

enter image description here Lorsque vous utilisez FragmentStatePagerAdapter est une version Android de « Cela vaut mieux pour la pagination à travers une collection d'objets pour le nombre de pages est indéterminée. Détruire les fragments que l'utilisateur navigue vers d'autres pages, ce qui minimise l'utilisation de la mémoire » Le fonctionnement de ce widget pour faire la création d'une page avant la position réelle, dans mon cas je consomme différents services chaque fois que je défile sur les onglets et évidemment les données peuvent être mises à jour, car la pagination charge une position vers l'avant quand je reviens au la position précédente n'effectue pas de demande de service car FragmentStatePagerAdapter ne le détecte pas, s'il vous plaît quelqu'un sait comment résoudre ce FragmentStatePagerAdapterFragmentStatePagerAdapter utilisation du cache

La longueur de mes onglets est dynamique, c'est la raison pour laquelle j'utilise 2 Fragment, l'un pour les onglets et une autre pour le pager

https://developer.android.com/reference/android/support/v4/app/FragmentStatePagerAdapter.html

enter image description here

Répondre

0

J'essaie de comprendre votre problème, laissez-moi deviner votre Fragment précédent ou suivant n'a pas été détruit et lorsque vous faites glisser la page vers la page précédente ou la page suivante, la requête Réseau est déclenchée.

Oui, si c'est le cas, le fragment ne supprime pas de l'activité ce qui signifie qu'il ne déclenche pas le cycle de vie du fragment. Toutefois, si vous avez besoin de déclencher le réseau alors dans votre FragmentStatePagerAdapter surchargez cette méthode setPrimaryItem puis envoyez le rappel à votre Fragment (l'objet pass devrait être votre fragment d'instance live). Définir le primaire fournira celui qui est visible à l'utilisateur qui est en fait l'élément actuel de ViewPager.

+0

est le problème que j'ai une bonne idée, avoir un exemple dans le code de cette solution que je viens de fournir, comme je le fais gonfler le fragment dans setPrimaryItem? @vsatkh –

+0

S'il vous plaît vérifier mon échantillon gist sur github https://gist.github.com/cmidt-veasna/97812e07a387bd3cca62fa73ae4070d6 Je n'ai pas testé le code pensé mais cela devrait fonctionner comme prévu. – vsatkh

+0

Je ne comprends pas cette partie qui est censée charger ici? 'public void loadData() { // votre code }' –