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