Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 三星A50的EditText输入类型问题_Android_Android Edittext_Samsung Mobile_Samsung Galaxy - Fatal编程技术网

Android 三星A50的EditText输入类型问题

Android 三星A50的EditText输入类型问题,android,android-edittext,samsung-mobile,samsung-galaxy,Android,Android Edittext,Samsung Mobile,Samsung Galaxy,除三星A50外,这款手机在众多手机型号中都能发挥作用: <EditText ... android:digits="0123456789-" android:inputType="numberDecimal" /> 这是“修补程序”解决方案: <EditText ... android:digits="0123456789-" android:inputType="phone" /> 除了三星之外,你知道这一失

除三星A50外,这款手机在众多手机型号中都能发挥作用:

<EditText
    ...
    android:digits="0123456789-"
    android:inputType="numberDecimal" />

这是“修补程序”解决方案:

<EditText
    ...
    android:digits="0123456789-"
    android:inputType="phone" />


除了三星之外,你知道这一失败的原因吗?

你可以通过以下更准确的方式实现这一点:

android:digits="0123456789-"
android:inputType="numberSigned"
来自A50S的输出

不同的制造商做不同的事情,他们中的一些人将GUI的显示规则仅仅作为建议(我在华为的一些设备上看到过类似的问题)


我建议在用户输入后用正则表达式检查输入,看看输入是否有意外字符,如果有,请拒绝,因为您不能保证每个移动设备的输入显示都会显示您要求的方式(即使这是使用inputType和digits的一种方式!)

是的,我也在检查输入是否正确,但为了更好的用户体验,键盘也应限于输入类型。在这种情况下,我需要一个可能包含额外字符的数值
“-”