2013-07-26 6 views
5

Mon application dispose d'un ViewPager dont l'adaptateur renvoie trois fragments. Chaque fragment charge une liste de données à partir de Web dans onCreateView. Appelons donc ces fragments A, B, C.Lors de l'utilisation de ViewPager avec Fragments, les fragments sont détruits lors du balayage

Une fois que l'activité contenant viewPager est ouverte, les fragments A et B sont chargés. Mais seulement A est visible maintenant. Donc, si je balaye vers la droite, alors B est visible et C est chargé derrière la scène. Si je balaye de nouveau vers la droite, alors C est visible. Le problème est que le onDestroyView() du fragment A est appelé et toutes ses données chargées ont disparu! Donc, si je reviens au fragment A, on appelle de nouveau onCreateView() et les données de A sont à nouveau chargées depuis le web.

Est-ce un comportement par défaut de ViewPager lorsque vous l'utilisez avec Fragment? Est-il possible de conserver le fragment en vie (en n'appelant pas onDestroyView()) même s'il n'est pas visible?

Merci

Répondre

10

essayer:

yourViewPager.setOffscreenPageLimit(2) 

où 2 est la quantité de pages à conserver en mémoire de chaque côté de la page en cours.

+0

sweeeeeeettt !!! – user2062024

Questions connexes