Android Fragments: Cycle de vie de la méthode *toujours* appelée lorsque le fragment est affiché?
J'ai besoin d'exécuter du code à chaque fois qu'un fragment est affiché à l'utilisateur.
À la recherche par le biais de l'API la plus proche crochet méthode que j'ai pu voir pour ce qui est onResume. Cependant, à partir de débogage par le biais de mon code, il semble que onResume est pas appelé lorsque l'utilisateur sélectionne le dos-bouton pour revenir à un précédemment affiché fragment.
Juste pour clarifier le comportement que je vois:
J'ai un "parent" de l'activité qui configure les onglets dans une ActionBar... et 2 fragments de F1 et de F2.
L'utilisateur sélectionne un onglet et la F1 est chargé dans l'activité. Sur pression d'un bouton, l'utilisateur peut naviguer à F2. Ce n'est pas un onglet séparé... F2 est échangé sur la mise en page.
L'ajout du journal des déclarations, je peux voir que lorsque l'utilisateur sélectionne le dos-bouton sur F2, la suite arrive....
1) onPause() est appelée sur F2.
2) F1 est chargé dans l'activité... mais onResume() sur la F1 est pas appelé
Il n'y a pas d'erreurs dans les journaux en ce moment.
Les idées de ce que je fais mal ici?
Merci d'avance,
Neil.
- Vous devriez toujours poster votre code afin que nous puissions voir ce qui se passe. Ajoutez-vous chaque fragment de la pile de retour?
- Merci Sam. Lors de l'édition de ma question et en ajoutant le code, j'ai remarqué mon erreur a été dans mon fragment de commutation de code. J'ai ajouté une réponse expliquant. Des acclamations.
Vous devez vous connecter pour publier un commentaire.
Ok, il semble que celui-ci a été mise à l'erreur. Mon code d'origine pour basculer entre les fragments dans une activité....
L'appel à la méthode add() dans le code ci-dessus devrait en fait être à remplacer(). Il semble que pas de remplacer le fragment dans l'activité mess avec le dos-bouton de comportement.
Faut être honnête et admettre que je ne suis pas sûr à 100% exactement pourquoi cela se produit. Cependant, après le changement, la onResume() la méthode est appelée sur la destination fragment, une fois le dos-bouton est appelé.
Cette étrange question, parce que tout existant méthode de classe est garanti d'être appelée lorsque l'événement que cette méthode a été conçue pour être appelé à se produit et toutes les conditions sont remplies. Choisir n'importe qui s'adapte à la tâche que vous souhaitez accomplir le mieux. Voir les docs ici
onResume()
) et c'est tout.