我创建了一个只允许输入数字的EditText。它是一个非常简单的EditText,没有特别之处:
<EditText
android:id="@+id/editTextAmount"
android:layout_marginTop="10dp"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:background="@color/colorWhite"
android:inputType="text"
android:digits="0123456789"
/>
我在几个设备上尝试了它,结果如预期一样,我只能输入数字。问题出现在使用三星Galaxy Note S10+时(我认为问题来自于三星键盘)。当我聚焦EditText时,键盘打开(只能看到数字),但当我在字段中输入任何内容时,什么也不会发生。我可以按键盘上的任何键(enter键,数字等),但是没有任何变化。
我尝试在活动中以编程方式更改输入类型,我尝试通过修改输入类型(numberDecimal、numberSigned、both等)进行调整,但在任何情况下都不能正常工作。有趣的是,如果我将输入类型更改为"text"并取消数字限制,那么它就完美地运行。
我的问题是:如何在三星Galaxy Note S10+上限制EditText输入为数字?
编辑:为了使它完全清楚,我正在针对特定设备提出这个问题!我已经尝试过:
android:inputType="number"
并且
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
包括这些变量的任何变体(numberDecimal、numberSigned等)