Psi*_*jic 1 android-jetpack-compose
我想TopAppBar在导航时切换其内容。目标是使用标志并更改navigationIcon. 但我不能Composable/null在这里将 作为参数传递。代码:
val navIcon = if (viewModel.isBackAvailable) NavIcon { navController.navigateUp() } else null\n\nTopAppBar(navigationIcon = navIcon)// Required:(() \xe2\x86\x92 Unit)? Found:Unit?\n\n@Composable\nprivate fun NavIcon(navigate: () -> Unit) {\n IconButton(onClick = navigate) {\n Icon(\n imageVector = Icons.Rounded.ArrowBack,\n contentDescription = stringResource(R.string.navigate_back),\n tint = MaterialTheme.colorScheme.primary\n )\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n我无法传递空值之类的东西,navigationIcon = {}因为在这种情况下它占用了空间,我需要使用null.
Jan*_*ína 10
在你的代码中,navIcon是函数调用的结果NavIcon,它是单位。您需要在那里有函数引用,您可以这样做:
val navIcon: (@Composable () -> Unit)? = if (viewModel.isBackAvailable) {
{ NavIcon { navController.navigateUp() } }
} else null
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3507 次 |
| 最近记录: |