如何确保 Android 中的数字十进制键盘?
Posted
技术标签:
【中文标题】如何确保 Android 中的数字十进制键盘?【英文标题】:How can I ensure a numeric decimal keyboard in 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)上,出现的软键盘是严格的数字(没有逗号或句点)。
如何强制使用数字键盘访问适合区域设置的小数分隔符?
谢谢
【问题讨论】:
你是这个意思? ***.com/questions/4645119/… 不,恐怕;这正是我上面的第二个解决方案,但如果我这样做,它不适用于所有设备(有些设备无法插入小数点分隔符)。 您使用setKeyListener()
有什么特别的原因吗? AFAIK,只需 setInputType()
就足够了。
这是我正在尝试解决的 android 错误:code.google.com/p/android/issues/detail?id=2626
@jadkik94,正如他所说,在某些设备上,软键盘出现时不需要字符。因此,如果用户有这样的设备,则根本不可能在他们的语言环境中输入十进制数字。
【参考方案1】:
一个可能的解决方案/解决方法是提供your own keyboard。计算器应该很容易实现
【讨论】:
以上是关于如何确保 Android 中的数字十进制键盘?的主要内容,如果未能解决你的问题,请参考以下文章