我一直在阅读关于这个问题的一些帖子,有些没有得到回答,而其他的(来自2011年)则解释了这是一个已知的错误。
这个问题已经解决了吗?现在是否可以显示带有语言环境信息的软键盘?我想显示一个十进制键盘,用“,”代替小数点作为小数分隔符。
我一直在阅读关于这个问题的一些帖子,有些没有得到回答,而其他的(来自2011年)则解释了这是一个已知的错误。
这个问题已经解决了吗?现在是否可以显示带有语言环境信息的软键盘?我想显示一个十进制键盘,用“,”代替小数点作为小数分隔符。
您可以使用以下方法来包含逗号作为有效输入:
通过 XML:
<EditText
android:inputType="number"
android:digits="0123456789.," />
以编程方式:
EditText input = new EditText(THE_CONTEXT);
input.setKeyListener(DigitsKeyListener.getInstance("0123456789.,"));
这样,Android系统将显示数字键盘并允许输入逗号。希望对你有所帮助 :)
如果不创建自己的软键盘,就无法在软键盘中不显示“.”。我找到的解决方案是:
<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;
}
在 Android 命名空间中,您可以使用:
android:inputType="numberDecimal"
这使您能够输入“.”