Even when I change the parameter isChecked
type to MutableState<Boolean>
another error is still returned.
Type mismatch. Required: MutableState. Found: Boolean.
@Composable
fun PreferencesScreen(navController: NavController) {
var isChecked = remember { mutableStateOf(false) }
Scaffold(
topBar = {...},
content = {
LazyColumn(modifier = Modifier
.padding(it)
.fillMaxSize()
) {
item {
MyPreference(isChecked, "Test preference") { isChecked = !isChecked }
}
}
},
containerColor = MaterialTheme.colorScheme.background
)
}
@Composable
fun MyPreference(isChecked: Boolean, title: String, onCheckedChange: (Boolean) -> Unit) {
Row(
modifier = Modifier
.fillMaxWidth()
.toggleable(value = isChecked, onValueChange = onCheckedChange)
) {
Text(text = title)
Switch(checked = isChecked, onCheckedChange = null)
}
}