我创建了一条使用导航(使用Jetpack撰写)的道路,如下所示
composable(CatLifeScreen.AddCatFormScreen.route + "?catId={catId}",
arguments = listOf(
navArgument(name = "catId") {
nullable = true
}
)) {
bottomBarState.value = false
val catId = it.arguments?.getInt("catId")
AddEditCatFormBody(
idOfCat = catId,
navController = navController,
addEditCatViewModel = addEditCatViewModel,
)如果我不加任何论据,这条路就好用了。
onClick = { navController.navigate(CatLifeScreen.AddCatFormScreen.route) }如果我定义了一个参数it.arguments?.getInt("catId")是0,而我传递的参数不是0。
IconButton(onClick = { navController.navigate(CatLifeScreen.AddCatFormScreen.route + "?catId=$idOfCat") } //idOfCat = 1有人有线索要跟踪吗?我已经被困了很久了
发布于 2022-07-27 15:29:25
终于找到了答案。对于像我这样被困的人:
的数据类型放在
类型
composable(CatLifeScreen.AddCatFormScreen.route + "?catId={catId}",参数= listOf( navArgument(name = " catId ") { nullable = true // I不指定类型,因为Integer不能为nullable } )) { bottomBarState.value = false val catId= it.arguments?.getString("catId")?.toInt() //使用getString获取密钥()并强制转换为AddEditCatFormBody( idOfCat = catId,navController = navController,addEditCatViewModel = addEditCatViewModel,) }
发布于 2022-07-26 20:31:43
尝试输入参数类型,如下所示;
arguments = listOf(
navArgument("catId") {
type = NavType.IntType
nullable = true
}
)https://stackoverflow.com/questions/73127002
复制相似问题