2014-05-13 4 views
1

J'ai ViewPager (4 Fragments), et quand je lance l'application, ces 4 fragments commencent le chargement (objet json du serveur), ce n'est pas cool, car chaque fragment est d'environ 100 éléments. Comment faire en chargeant seulement un fragment au début, et chaque chargement seulement quand l'utilisateur est passé au fragment.Java Android - ViewPager Fragment chargement

Une application similaire faite dans Twitter, Vine.

+0

pouvez-vous éditer votre question avec un exemple de code que vous avez écrit en? votre question est un peu floue pour moi .. – Perneel

+0

Peut-être que vous exécutez les asynctasks pour obtenir les objets json sur l'onCreate de l'HostActivity et non sur le fragment, vous devriez le faire, il est appelé lorsque le proche (gauche ou droite) est montré. – Aiapaec

Répondre

0

Par défaut, le offscreenpagelimit est réglé sur 1

ViewPager.getOffScreenPageLimit() == 1 

Vous ne créez deux fragments à la fois (si vous ne l'avez pas modifié la limite hors écran, votre utilisateur ne balayez pas et votre premier fragment représentés est la position 0).

Si vous voulez savoir ce que fragmenter est actuellement affiché, utilisez

ViewPager.getCurrentItem() 

Si vous avez besoin de savoir, lorsque l'utilisateur fait glisser le fragment suivant, utilisez

ViewPager.setOnPageChangeListener(OnPageChangeListener listener) 

Si vous avez besoin l'instance du Fragment, qui est actuellement affichée, utilise

shownFragment = FragmentPagerAdapter.getItem(ViewPager.getCurrentItem()); // you have to make sure to return the instance currently in use 
shownFragment.doHeavyNetworkStuffInBackground(); 
Questions connexes