Как перейти от подграфа к другому подграфу?Android

Форум для тех, кто программирует под Android
Anonymous
Как перейти от подграфа к другому подграфу?

Сообщение Anonymous »

Я собираюсь использовать следующую структуру:

Код: Выделить всё

MainActivity (Single Activity)
└── NavHostFragment (root_nav_graph)
├── (nav_graph)=
│   ├── LoginFragment
│   └── RegisterFragment
└── (main_nav_graph)
├── MainTabsContainerFragment
│   ├── HomeNavHost
│   ├── DashboardNavHost
│   ├── NotificationsNavHost
Но после успешного входа в систему я могу правильно отобразить main_nav_graph.
Вот root_nav_graph.xml: nav_graph — это loginFragment.
Теперь я хочу, чтобы 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]

Вернуться в «Android»