Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何确保Android中的数字十进制键盘?_Android_Keyboard - Fatal编程技术网

如何确保Android中的数字十进制键盘?

如何确保Android中的数字十进制键盘?,android,keyboard,Android,Keyboard,我有一个需要无符号十进制输入的EditText 如果我使用: setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL); setKeyListener(NumericDigitsKeyListener.getInstance(false, true)); 然后它在美国很好用,但是我的欧洲客户不能使用它,因为它似乎不允许逗号作为小数点 另一方面,如果我使用: setInputType(InputT

我有一个需要无符号十进制输入的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()
有什么特别的原因吗?好了,只需
setInputType()
就足够了。以下是我正在努力解决的Android bug:@jadkik94,正如他所说,在某些设备上,软键盘出现时没有所需的字符。因此,如果用户有这样的设备,他们根本不可能在自己的语言环境中输入十进制数字。