【发布时间】:2021-05-14 01:04:19
【问题描述】:
我创建了一个只允许数字作为输入的 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 时,键盘会打开(只有数字可见),但是当我在字段中键入内容时,什么也没有发生。我可以按键盘上的任何键(输入键、数字……)没有任何变化。
我试图在活动中以编程方式更改输入类型,我试图摆弄 inputType (numberDecimal, numberSigned, both, ...) 在任何情况下它根本不起作用。有趣的是,如果我将 inputType 更改为“text”并删除数字限制,那么它就可以正常工作了。
我的问题是:如何使用三星 Galaxy Note S10+ 将 EditText 输入限制为数字?
编辑:为了清楚起见,我要求这是针对特定设备的!我已经试过了:
android:inputType="number"
和
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
并且 这些的任何变体(numberDecimal、numberSigned、...)
【问题讨论】:
-
你说这个问题只发生在特定设备上很有趣,所以我想这不是重复的,人们在阅读问题时应该考虑一下
-
@a_local_nobody 事实上,有成千上万的帖子问这个问题。我是一位经验丰富的 Android 开发人员,并且已经完成了一百万次。我的问题确实是针对此设备(和/或其他三星设备?)。
标签: android android-edittext keyboard