Wal*_*ren 2 android android-jetpack android-jetpack-compose
我正在使用 NavHost 和 NavHostController 在我的 Jetpack Compose 应用程序中导航。为了指定目的地,我使用基于字符串的路由:
NavHost(
navController,
startDestination = "FOO"
) {
composable("FOO") {
Foo()
}
composable("BAR") {
Bar()
}
}
Run Code Online (Sandbox Code Playgroud)
我想检索当前路径作为一个字符串(FOO或BAR使用)navController。navController.currentDestination.id然而,我能找到的最接近的替代方法是返回一个数字 ID,而不是作为字符串的路线。
有没有办法检索这个值?
我正在使用 Jetpack Compose beta01 和 Compose Navigation alpha08。
Mah*_*hag 11
从androidx.navigation:navigation-compose版本2.4.0-alpha01,androidx.navigation.compose.KEY_ROUTE被替换为navBackStackEntry?.destination?.route.
KEY_ROUTE 参数已替换为 NavDestination 上的 route 属性,允许您直接调用 navBackStackEntry.destination.route。
示例代码:
val currentRoute = navController.currentBackStackEntry?.destination?.route
Run Code Online (Sandbox Code Playgroud)
或者,如果您需要观察导航:
val navBackStackEntry by navController.currentBackStackEntryAsState()
when (val currentRoute = navBackStackEntry?.destination?.route) {
// do something with currentRoute
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1141 次 |
| 最近记录: |