Код: Выделить всё
MainActivity (Single Activity)
└── NavHostFragment (root_nav_graph)
├── (nav_graph)=
│ ├── LoginFragment
│ └── RegisterFragment
└── (main_nav_graph)
├── MainTabsContainerFragment
│ ├── HomeNavHost
│ ├── DashboardNavHost
│ ├── NotificationsNavHost
Вот root_nav_graph.xml
Код: Выделить всё
Теперь я хочу войти в LoginFragment в начальный пункт назначения main_nav_graph.
Что я пробовал:
A: навигация из nav_graph, добавление действия и переход LoginFragment:
nav_grah.xml
Код: Выделить всё
Код: Выделить всё
findNavController().navigate(R.id.action_login_to_main)
B Добавьте действие в root_nav_graph и перемещайтесь по активности
root_nav_graph.xml
Код: Выделить всё
Код: Выделить всё
private lateinit var navController: NavController
private fun setupNavigation() {
val navHostFragment = supportFragmentManager
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
navController = navHostFragment.navController
}
fun onCreate() {
setupNavigation()
}
Код: Выделить всё
fun onLoginSuccess() {
navController.navigation(R.id.action_auth_to_mainTabsContainer)
}
Заменить
Код: Выделить всё
Подробнее здесь: [url]https://stackoverflow.com/questions/79875215/android-how-to-navigate-from-a-sub-graph-to-another-sub-graph[/url]
Мобильная версия