Skip to main content

Jetpack ComposeのBottomNavigationでDetailScreenにbackしてもcurrentにする方法

BottomNavigationでタブを遷移して
詳細ページに遷移して
タブを遷移して
戻るボタンを押したらcurrentが解除される・・・

これの修正方法


・コード
navControllerでBackStackを確認する
stateで取ると全部の履歴が取れるので、これでTABのscreen名を取得する

val a by navController.currentBackStack.collectAsState()
val currentScreen = a.reversed().firstOrNull {
    it.destination.route == "TAB"
}?.destination?.route

あとはこれをBottomNavigationに当てるだけ

BottomNavigationItem(
    selected = currentScreen == item.route,

関連記事:

Pocket