我怎么能把限制的数字在文本字段为android jetpack撰写?



我在android jetpack compose中有一个文本字段,所以我想为数字设置限制,例如;用户只能写从1到10的数字,在jetpack组合中可以做到吗?

@Preview(showBackground = true)
@Composable
fun OutlinedTextFieldComposable() {
var text by remember { mutableStateOf("") }
OutlinedTextField(
value = text,
onValueChange = { text = it },
label = { Text("Label") },
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number))

}

您可以在onValueChange中创建这样的条件:

@Preview(showBackground = true)
@Composable
fun OutlinedTextFieldComposable() {
var text by remember { mutableStateOf("") }
val maxNumbers = 10
OutlinedTextField(
value = text,
onValueChange = { if (it.toInt() <= maxNumbers) text = it },
label = { Text("Label") },
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number))

}
BasicTextField(
value = phoneNumber,
onValueChange = { enterValue ->
phoneNumber =
if (enterValue.length <= 10) enterValue else enterValue.substring(0, 10)
},
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),

)

享受

相关内容

最新更新