Je rencontre un comportement étrange en ce qui concerne le bouton de retour et Fragments
. Voici ma situation, j'ai 3 Fragments
, f1
, f2
et f3 .
Il y a un Button
au sein f1
qui soulève f2
:Le bouton Précédent affiche un fragment incorrect
getSupportFragmentManager()
.beginTransaction()
.addToBackStack("f1")
.replace(R.id.fragHook, f2,
TAG).commit();
Cette opération fonctionne parfaitement. Je peux frapper le va-et-vient entre les 2 fragments que je viens de trouver. Dans f2, j'ai un RecyclerView
que l'utilisateur peut sélectionner une cellule. Lorsque l'utilisateur sélectionne une cellule, je soulève f3
mais je ne pas ajouter à la f2
backstack:
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragHook, f3)
.commit();
Le Fragment
f3
est affiché correctement. Et sur la première fois avec ce processus, je clique sur le bouton de retour et f1
s'affiche correctement à nouveau. Le problème vient maintenant si je répète ces mêmes étapes. Le Button
dans f1
est cliqué, ce qui affiche f2
avec le RecyclerView
. Une cellule est ensuite sélectionnée pour afficher f3
une seconde fois. Maintenant, quand je clique sur le bouton de retour, le fragment f2
apparaît. J'ai vérifié et onCreateView
est appelé à la fois f1
et f2
. Qu'est-ce qui pourrait causer l'apparition du f2
Fragment
?