android - 您如何将 EditText 键盘设置为仅包含 Android 上的数字?

标签 android android-layout android-edittext

我希望我的 EditText 显示一个 ONLY 有数字可见的键盘,没有其他字符。

我已经测试了所有可用的输入,但它不起作用。我搜索了一种方法来获得只有数字的键盘,但我只看到了以下引用:

android: inputType = "numberPassword"

但我希望数字可见,如下所示:(numberPassword)

enter image description here

我试过了:

android:digits="0123456789"
android:inputType="phone"

android:inputType="number"

但它看起来像这样:

enter image description here

最佳答案

经过几次尝试,我明白了! 我像这样以编程方式设置键盘值:

myEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);

或者,如果您愿意,您可以像这样编辑 XML:

android: inputType = "numberPassword"

两个配置都会显示密码子弹,所以我们需要创建一个自定义的 ClickableSpan 类:

private class NumericKeyBoardTransformationMethod extends PasswordTransformationMethod {
    @Override
    public CharSequence getTransformation(CharSequence source, View view) {
        return source;
    }
}

最后我们需要在 EditText 上实现它,以便显示输入的字符。

myEditText.setTransformationMethod(new NumericKeyBoardTransformationMethod());

这就是我的键盘现在的样子:

关于android - 您如何将 EditText 键盘设置为仅包含 Android 上的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13817521/

相关文章:

android - 无法将数据发送到数据库,不知道代码有什么问题

android - 如何使用 pixate (android) 设置按钮样式

android - 将 EditText 添加到工具栏

Android,通过页脚停止重叠 ListView 项目

pyqt 检查 lineEdit 的值是否改变

java - Android:如何使用 ThreadSafeClientConnectionManager 为 SSL 套接字设置超时以阻止读/写?

android - 当 listview 滚动时 edittext 设置默认值

android-studio - Android/Kotlin:显示已配对的蓝牙设备的列表

java - onTextChanged,无法让它正常工作

android - 如何从动态 EditText 中获取值并将值存储在整数数组中?