【问题标题】:How can I ensure a numeric decimal keyboard in Android?如何确保 Android 中的数字十进制键盘?
【发布时间】:2012-12-11 02:40:42
【问题描述】:

我有一个需要无符号十进制输入的 EditText。

如果我使用:

setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
setKeyListener(NumericDigitsKeyListener.getInstance(false, true));

然后它在美国工作得很好,但我的欧洲客户不能使用它,因为它似乎不允许逗号作为小数点。

另一方面,如果我使用:

setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
setKeyListener(DigitsKeyListener.getInstance("01234567890.,"));

然后它在美国和欧洲运行良好,但在某些设备(如 Galaxy S3)上,出现的软键盘是严格的数字(没有逗号或句点)。

如何强制使用数字键盘访问适合区域设置的小数分隔符?

谢谢

【问题讨论】:

  • 不,恐怕;这正是我上面的第二个解决方案,但如果我这样做,它不适用于所有设备(有些设备无法插入小数点分隔符)。
  • 您使用setKeyListener() 有什么特别的原因吗? AFAIK,只需 setInputType() 就足够了。
  • 这是我正在尝试解决的 Android 错误:code.google.com/p/android/issues/detail?id=2626
  • @jadkik94,正如他所说,在某些设备上,软键盘出现时不需要字符。因此,如果用户有这样的设备,则根本不可能在他们的语言环境中输入十进制数字。

标签: android keyboard


【解决方案1】:

一个可能的解决方案/解决方法是提供your own keyboard。计算器应该很容易实现

【讨论】:

    猜你喜欢
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2011-11-17
    • 2014-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-22
    相关资源
    最近更新 更多