我一直在阅读一些关于这个问题的主题,有些没有得到回答,而其他人(从 2011 年开始)解释了这是一个已知的错误。
这已经解决了吗?现在是否可以显示带有文化信息的软键盘?我想显示一个十进制键盘,显示“,”而不是小数分隔符的“点”。
我一直在阅读一些关于这个问题的主题,有些没有得到回答,而其他人(从 2011 年开始)解释了这是一个已知的错误。
这已经解决了吗?现在是否可以显示带有文化信息的软键盘?我想显示一个十进制键盘,显示“,”而不是小数分隔符的“点”。
您可以使用以下解决方法也将逗号作为有效输入:-
通过 XML:
<EditText
android:inputType="number"
android:digits="0123456789.," />
以编程方式:
EditText input = new EditText(THE_CONTEXT);
input.setKeyListener(DigitsKeyListener.getInstance("0123456789.,"));
这样安卓系统就会显示数字键盘并允许输入逗号。希望能帮助到你 :)
不能不显示“。” 在软键盘中,无需创建自己的。我发现的解决方案是:
<EditText
android:inputType="numberDecimal"
android:digits="0123456789," />
这样当你按下'。在软键盘中没有任何反应;只允许使用数字和逗号
我通过扩展NumberKeyListener
接受','和'。'解决了这个问题,并覆盖:
@Override
public int getInputType() {
return InputType.TYPE_CLASS_NUMBER
| InputType.TYPE_NUMBER_FLAG_DECIMAL
| InputType.TYPE_NUMBER_FLAG_SIGNED;
}
此外,我在 EditText 上设置了一个 TextWatcher,它替换了所有的 '.' 用 ',' 在afterTextChanged()
.
但我无法在软键盘上显示逗号。
在 android 命名空间中,您可以使用:
android:inputType="numberDecimal"
这使您可以输入“。”