Как перейти от подграфа к другому подграфу?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]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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