Jetpack Navigation - получить вложенный график программно - PullRequest
0 голосов
/ 19 апреля 2020

Я хотел бы получить вложенный граф программно, чтобы изменить startDestination.

, который работает для navHost

val navHostFragment = appNavFragment as NavHostFragment
val inflater = navHostFragment.navController.navInflater
val graph = inflater.inflate(R.navigation.nav_app)
graph.startDestination = if(sth) startDestination1 else startDestination2

val navController = navHostFragment.navController

navController.graph = graph

И я хотел бы сделать то же самое для вложенного графа, но я не знаю, как получить его программно.

1 Ответ

0 голосов
/ 19 апреля 2020

Я нашел решение, для вложенного графа мне нужно было использовать findNode

    val node = graph.findNode(R.id.nav_main)
    (node as NavGraph).startDestination = R.id.onboarding_dest
...