Android Jetpack 导航 - 如何在导航参数中传递空字符串?
Android Jetpack navigation - How to pass empty string in navigation arguments?
AnimatedNavHost(navController, startDestination = BottomNavItem.Splash.screen_route){
composable(
signup + "/{emailFromSignIn}" + "/{passwordFromSignIn}",
arguments = listOf(
navArgument("emailFromSignIn"){
type = NavType.StringType
},navArgument("passwordFromSignIn"){
type = NavType.StringType
}
}
navController.navigate(signup + "/$textEmail" + "/$textPassword")
如何传递空字符串?
错误:
在导航图中找不到匹配请求 NavDeepLinkRequest{ uri=android-app://androidx.navigation/signup// } 的导航目的地 NavGraph(0x0) startDestination={Destination( 0xb6b16c34) 路线=飞溅}
您可以使用具有默认空字符串值的 optional parameter:
composable
:
composable(
route = "$signup?emailFromSignIn={emailFromSignIn}&passwordFromSignIn={passwordFromSignIn}",
arguments = listOf(
navArgument("emailFromSignIn"){
type = NavType.StringType
defaultValue = ""
},navArgument("passwordFromSignIn"){
type = NavType.StringType
defaultValue = ""
}
)
) {
navigate
:
navController.navigate("$signup?emailFromSignIn=$textEmail&passwordFromSignIn=$textPassword")
AnimatedNavHost(navController, startDestination = BottomNavItem.Splash.screen_route){
composable(
signup + "/{emailFromSignIn}" + "/{passwordFromSignIn}",
arguments = listOf(
navArgument("emailFromSignIn"){
type = NavType.StringType
},navArgument("passwordFromSignIn"){
type = NavType.StringType
}
}
navController.navigate(signup + "/$textEmail" + "/$textPassword")
如何传递空字符串?
错误: 在导航图中找不到匹配请求 NavDeepLinkRequest{ uri=android-app://androidx.navigation/signup// } 的导航目的地 NavGraph(0x0) startDestination={Destination( 0xb6b16c34) 路线=飞溅}
您可以使用具有默认空字符串值的 optional parameter:
composable
:
composable(
route = "$signup?emailFromSignIn={emailFromSignIn}&passwordFromSignIn={passwordFromSignIn}",
arguments = listOf(
navArgument("emailFromSignIn"){
type = NavType.StringType
defaultValue = ""
},navArgument("passwordFromSignIn"){
type = NavType.StringType
defaultValue = ""
}
)
) {
navigate
:
navController.navigate("$signup?emailFromSignIn=$textEmail&passwordFromSignIn=$textPassword")