Checkboxの中ではなく親要素に指定することで対象を変更できる
修正前
@Composable private fun TopicItem(itemTitle: String, selected: Boolean, onToggle: () -> Unit) { // ... Row( modifier = Modifier .padding(horizontal = 16.dp, vertical = 8.dp) ) { // ... Checkbox( checked = selected, onCheckedChange = { onToggle() }, modifier = Modifier.align(Alignment.CenterVertically) ) } }
修正後
@Composable private fun TopicItem(itemTitle: String, selected: Boolean, onToggle: () -> Unit) { // ... Row( modifier = Modifier .toggleable( value = selected, onValueChange = { _ -> onToggle() }, role = Role.Checkbox ) .padding(horizontal = 16.dp, vertical = 8.dp) ) { // ... Checkbox( checked = selected, onCheckedChange = null, modifier = Modifier.align(Alignment.CenterVertically) ) } }
参考:JetpackComposeCodeLab