Код: Выделить всё
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. Я пробовал:
- навигация из nav_graph, добавление действия и переход в LoginFragment:
:
Код: Выделить всё
nav_grah.xmlКод: Выделить всё
не работает.Код: Выделить всё
findNavController().navigate(R.id.action_login_to_main) - Добавьте действие в 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/how-to-navigate-from-a-sub-graph-to-another-sub-graph[/url]