J'utilise bottomNavigationView et le composant de navigation. Veuillez me dire comment je ne détruis pas le fragment après être passé à un autre onglet et revenir à l'ancien? Par exemple, j'ai trois onglets - A, B, C. Mon onglet de démarrage est A. Après avoir navigué vers B, puis renvoyé A. Lorsque je reviens à l'onglet A, je ne veux pas qu'il soit recréé. Comment le faire? Merci
Selon le problème ouvert , la navigation ne prend pas directement en charge plusieurs piles arrière - c'est-à-dire, l'enregistrement de l'état de la pile B lorsque vous revenez à B depuis A ou C car les fragments ne prennent pas en charge plusieurs piles arrière.
Selon ce commentaire :
Le NavigationAdvancedSample est désormais disponible sur https://github.com/googlesamples/Android-architecture-components/tree/master/NavigationAdvancedSample
Cet exemple utilise plusieurs NavHostFragments, un pour chaque onglet de navigation inférieur, pour contourner les limitations actuelles de l'API Fragment dans la prise en charge de plusieurs piles de retour.
Nous allons continuer avec l'API Fragment pour prendre en charge plusieurs piles de retour et l'API Navigation pour s'y connecter une fois créée, ce qui supprimera le besoin de quelque chose comme
NavigationExtensions.kt
fichier. Nous continuerons d'utiliser ce problème pour suivre ce travail.
Par conséquent, vous pouvez utiliser l'approche NavigationAdvancedSample dans votre application dès maintenant et suivre le problème afin d'obtenir des mises à jour lorsque le problème sous-jacent est résolu et qu'une prise en charge directe est ajoutée à Navigation.
Essayez d'utiliser un ViewModels pour vos fragments.