TextField always get empty when I try to write in it.
My ViewModel:
class MyVM: ViewModel() {
var name by mutableStateOf("")
fun onNameChange(newString: String) {
name = newString
}
}
In MainActivity:
val myVM = MyVM()
MyScreen(
modifier = Modifier.fillMaxSize(),
name = myVM.name
) {
myVM.onNameChange(it)
}
MyScreen:
@Composable
fun MyScreen(
modifier: Modifier,
name: String,
onNameChange: (String) -> Unit,
) {
Box(
modifier = modifier,
contentAlignment = Alignment.Center,
) {
OutlinedTextField(
value = name,
onValueChange = { newText -> onNameChange(newText) },
label = { Text(text = "Name") },
modifier = Modifier
.fillMaxWidth()
.padding(8.dp),
)
}
}
I want user to enter their name and in viewmodel update the name mutable state variable