Lisandro Di Meo
03/01/2023, 5:01 PMIan Lake
03/01/2023, 5:26 PMLisandro Di Meo
03/01/2023, 5:30 PMcomposable(HOME) {...} //will navigate to A
composable(A) { // Will navigate to B
val qrViewModel = viewModel(
viewModelStoreOwner = backStackEntry.rememberParentEntry(navHostController = navHostController),
factory = ...
), modelClass = QrViewModel::class.java
)
}
composable(B) { // Will navigate to C
val qrViewModel = viewModel(
viewModelStoreOwner = backStackEntry.rememberParentEntry(navHostController = navHostController),
factory = ...
), modelClass = QrViewModel::class.java
)
}
composable(C) { // Will pop
val qrViewModel = viewModel(
viewModelStoreOwner = backStackEntry.rememberParentEntry(navHostController = navHostController),
factory = ...
), modelClass = QrViewModel::class.java
)
// Stuff...
navHostController.popBackStack(HOME, false)
}
Lisandro Di Meo
03/01/2023, 5:31 PMIan Lake
03/01/2023, 5:41 PMbackStackEntry.rememberParentEntry(navHostController = navHostController)
doingLisandro Di Meo
03/01/2023, 5:41 PMfun NavBackStackEntry.rememberParentEntry(navHostController: NavHostController): NavBackStackEntry {
val parentId = this.destination.parent!!.id
return remember(this) { navHostController.getBackStackEntry(parentId) }
}
Ian Lake
03/01/2023, 5:43 PMIan Lake
03/01/2023, 5:43 PMLisandro Di Meo
03/01/2023, 5:44 PMLisandro Di Meo
03/01/2023, 5:45 PMIan Lake
03/01/2023, 5:45 PMIan Lake
03/01/2023, 5:46 PMNavHost
takes an optional route
parameter - if you want to name that top level navigation graph)Lisandro Di Meo
03/01/2023, 5:48 PMLisandro Di Meo
03/01/2023, 5:48 PMLisandro Di Meo
03/01/2023, 5:48 PMJoseph Hawkes-Cates
03/01/2023, 9:15 PMStylianos Gakis
03/01/2023, 9:17 PMroute
parameter confusing in general. I wonder if that’s just me not being familiar with the concept, or if there is some room for this explanation in the documentation.
Or if I am completely missing some part of the docs that explains this already of course.Joseph Hawkes-Cates
03/01/2023, 9:20 PMJoseph Hawkes-Cates
03/01/2023, 9:21 PMIan Lake
03/01/2023, 9:41 PMJoseph Hawkes-Cates
03/01/2023, 9:50 PMIan Lake
03/01/2023, 9:55 PMIan Lake
03/01/2023, 9:56 PM