oday
12/16/2023, 11:56 PMBooks
- Camera
- Profile
fun handleBottomNavigation(
navController: NavHostController,
route: String,
) {
Log.d("GRAPH", "handleBottomNavigation current destination: ${navController.currentDestination}")
navController.navigate(route) {
popUpTo(navController.graph.findStartDestination().id) {
saveState = true
}
launchSingleTop = true
restoreState = true
}
}
this leads to:
from `BooksScreen`:
navigate(BookDetail)
screen -> from BookDetail navigate(BuyBook)
which happens to be a different NavigationBarItem-> Camera
NavigationBarItem is now selected -> press back to Books
NavigationBarItem -> currentDestination in log stays Camera
, does not navigate, $route
is Books
, navController.graph.findStartDestination().route
is also Books
just does not navigate
removing restoreState = true
or save_state = true
from handleBottomNavigation solves it of course but I want to keep state so that I can see BookDetail
screen again when I press on the Books
NavigationBarItem, I don't want to get thrown to back to BooksScreen
oday
12/16/2023, 11:58 PMIan Lake
12/17/2023, 12:02 AModay
12/17/2023, 12:06 AModay
12/17/2023, 12:07 AMIan Lake
12/17/2023, 12:07 AModay
12/17/2023, 12:09 AMIan Lake
12/17/2023, 12:09 AModay
12/17/2023, 12:10 AModay
12/17/2023, 12:10 AMIan Lake
12/17/2023, 12:10 AMIan Lake
12/17/2023, 12:11 AMIan Lake
12/17/2023, 12:12 AModay
12/17/2023, 12:12 AModay
12/17/2023, 12:13 AMIan Lake
12/17/2023, 12:13 AModay
12/17/2023, 12:15 AModay
12/17/2023, 12:16 AModay
12/17/2023, 12:17 AMIan Lake
12/17/2023, 12:19 AMIan Lake
12/17/2023, 12:21 AMIan Lake
12/17/2023, 12:21 AModay
12/17/2023, 12:22 AModay
12/17/2023, 12:22 AM