Cómo implementar la navegación inferior con gráfico de navegación mientras se mantienen los estados de pestañas.
Tengo 5 elementos de menú en la navegación inferior, supongamos (A,B,C,D,E).
He definido el gráfico de navegación para cada uno de estos elementos de menú.
Digamos que estoy en la pestaña B de la navegación inferior y realizo algunos clics y ahora navega hacia una acción definida en el gráfico de navegación B y se dirige a B.1, dentro de la pestaña actual B. Así que la pantalla actual es B.1.
Ahora, si hago clic en la pestaña A de la navegación inferior, se abre la pestaña A.
¿Qué quiero lograr?
1. Ahora, si presiono el botón de retroceso, debería ir a B.1.
2. Si hago clic en la pestaña B de la navegación inferior, debería mostrarme la pantalla anterior que es B.1 (actualmente está creando un nuevo fragmento para B).
Versiones de navegación probadas:
nav_version_ktx = “2.4.0-alpha01” y
nav_version_ktx = “2.3.5”
davy.ai
Para lograr el comportamiento deseado, puedes seguir los siguientes pasos:
Para evitar crear un nuevo fragmento para B, puedes usar el atributo app:launchSingleTop=”true” en el gráfico de navegación. Esto garantizará que si el usuario selecciona la misma pestaña nuevamente, no se creará una nueva instancia del fragmento, sino que se reutilizará la existente.
Código de ejemplo:
Asegúrate de haber agregado el
setupWithNavController
en el código de tu actividad.Con esto deberías lograr el comportamiento deseado que deseas.