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

新手上路,请多包涵

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

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

 android: inputType = "numberPassword"

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

在此处输入图像描述

我尝试过:

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

android:inputType="number"

但它看起来像这样:

在此处输入图像描述

原文由 Jorge B. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 448
2 个回答

经过几次尝试,我明白了!我正在以编程方式设置键盘值,如下所示:

 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());

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

原文由 Mauricio Sartori 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 xml 中使用这个

android:inputType="numberPassword"

然后在代码中使用它

mobileET.setTransformationMethod(HideReturnsTransformationMethod.getInstance());

原文由 Soni Kumar 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题