Rafraîchir/Re instancier un Fragment d'un android système d'onglets

J'ai une activité avec un viewpager 3 onglets et 3 fragments, à l'intérieur de chaque onglet est un fragment. Je sais que le fragment manager stocke les cas initiaux de l'fragments de sorte que si je coup l'écart à partir d'un onglet puis retour à cet onglet, il est chargé en mémoire et pas de mises à jour sont appliquées.

J'ai besoin de le contraire, c'est: à Chaque fois que je balayez vers un onglet, une nouvelle instance du fragment dans cet onglet besoins de chargement, ainsi que les données seront mises à jour.

J'ai essayé:

  1. détacher joindre fragment dans onTabSelected (rien ne se passe)
  2. supprimer ajouter un fragment de onTabSelected (rien ne se passe)
  3. setOffscreenPageLimit(0) (Rien ne se passe)
  4. fonction de rafraîchissement
    à l'intérieur de chaque fragment à être appelé onTabSelected (donne
    nullPointerException)

J'ai été aux prises avec ce problème pendant une semaine avec pas de progrès. J'apprécie toute l'aide, que ce soit une astuce, un commentaire, une suggestion.

Laissez-moi savoir quel code dois-je poster, Merci.

  • Essayez d'appeler à l'actualisation de la fonction écrite à l'intérieur de chaque fragment dans onPageSelected de la ViewPager. Assurez-vous que vous ne créez pas de nouveau fragment dans onPageSelected. La réutilisation de l'existant fragment créé par ViewPager
  • Ok. Je pense que j'ai une meilleure idée du problème maintenant. Je suis à l'aide d'un FragmentPagerAdapter. J'utilise getItem méthode qui renvoie une nouvelle instance du fragment. J'ai besoin d'obtenir les fragment. Le problème est que je dois utiliser findFragmentById ou findFragmentByTag. Mais je ne suis pas sûr de la façon de définir l'identifiant ou l'étiquette à l'instanciation avec getItem afin que je puisse le récupérer dans onPageSelected. Le FragmentPagerAdapter est de fixer les fragments à l'aide de getItem donc je ne sais pas comment utiliser un FragmentTransaction pour définir une étiquette d'identification ou de la programmation.
  • Il y a une surcharge de fonctions qui accepte de la balise. Voir developer.android.com/reference/android/app/... et developer.android.com/reference/android/app/...
InformationsquelleAutor Pacemaker | 2014-05-27