当键盘类型为KeyboardType.Number时,我目前无法捕获用户对文本字段的输入。
如果键盘类型设置为KeyboardType.Text,则文本字段会按预期更新,但是当设置为KeyboardType.Number时,文本字段不会更新。
为什么会这样?我该如何更改代码,以便当单击文本字段时显示数字键盘,并在按下数字时将相应数字更新到文本字段中。
以下代码不会更新文本字段(当设置为KeyboardType.Number时)...
@Composable
fun MyNumberField() {
var text = remember { mutableStateOf("")}
val change : (String) -> Unit = { it ->
value.value = it
}
TextField(
value = text.value,
modifier = Modifier.fillMaxWidth(),
keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Number),
onValueChange = change
)
}
以下代码确实会更新文本字段(当设置为KeyboardType.Text时)...
@Composable
fun MyNumberField() {
var text = remember { mutableStateOf("")}
val change : (String) -> Unit = { it ->
text.value = it
}
TextField(
value = value.value,
modifier = Modifier.fillMaxWidth(),
keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Text),
onValueChange = change
)
}
非常感谢。