如何在 jetpack Compose 中将输入类型设置为整数?

问题描述

如何让 TextField 只接受整数作为输入,以及如何将数字限制为 2?

我已经将键盘设置如下,但这允许输入小数,我只需要正整数

键盘选项 = 键盘选项( 键盘类型 = 键盘类型.数字 )

解决方法

TextField 本身不做任何过滤,你必须使用它的回调来做过滤。例如,

AppTheme {
    var text by remember {
        mutableStateOf("")
    }
    Surface(modifier = Modifier.width(320.dp)) {
        TextField(
            value = text,onValueChange = { value ->
                if (value.length <= 2) {
                    text = value.filter { it.isDigit() }
                }
            }
        )
}