我有一个用户可以检查的专业列表。当用户对他们的选择感到满意后,我将收集所选复选框的信息并将这些专业保存在用户的个人资料中。
但是,当我点击任何复选框时,视图模型中的状态会发生变化,但复选框仍处于未选中状态。
专业列表
@Composable
fun SpecialtyList(
viewModel: SpecialtyListViewModel = hiltViewModel(),
navController: NavController
) {
LazyColumn(modifier = Modifier.fillMaxSize()) {
item {
viewModel.specialtyList.value.forEach { specialty ->
Row(
modifier = Modifier
.fillMaxWidth()
.padding(10.dp),
verticalAlignment = Alignment.CenterVertically
) {
Checkbox(
checked = specialty.isSelected,
onCheckedChange = {
specialty.isSelected = it
},
colors = CheckboxDefaults.colors(MaterialTheme.colors.primary)
)
Text(
text = specialty.name,
modifier = Modifier
.padding(horizontal = 10.dp)
)
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
专业视图模型
@HiltViewModel
class SpecialtyListViewModel @Inject constructor() : ViewModel() {
// HARD-CODED PROPERTIES
val specialtyList …Run Code Online (Sandbox Code Playgroud)