不强制限制EditText只输入数字,如何打开数字键盘

7
我在创建自己的键盘时遇到了这个问题,但是我想不起来在哪里看到过它。
我想打开数字键盘。然而,我希望我的EditText只接受IP地址。通过this answer向我的EditText添加筛选器并不太困难。
然而,现在我想打开数字键盘而不是标准文本键盘。不幸的是,搜索结果充斥着相同的“如何限制EditText为数字输入?”问题。
有人能指点我手动打开数字键盘的正确位置吗?
4个回答

2

我不确定这是否是最佳解决方案,但我使用 android:inputType="phone"


好的,它肯定起作用。不过我更喜欢标准数字键盘而不是电话键盘(有一种方法可以实现)。 - Graeme

2

如果您想限制输入内容只能为数字和点号,可以在现有的解决方案基础上添加以下代码:

android:digits="0123456789."

将EditText的xml代码添加到现有解决方案中,因此结合当前解决方案和上述方法:
```xml ```
android:inputType="phone"
android:digits="0123456789."

我们将确保您能够在EditText中只输入与IP地址相关的内容。现在,当键盘弹出时,它具有T9字母键,但这是“电话”inputType功能的一部分。此外,您需要确保输入后它是一个有效的IP地址。


2
8天迟到了,但没关系!
android:inputType="number"

对我来说这很有效。当然,Glitch的答案可能更好,因为不是所有键盘都有数字输入样式。当然,你仍然需要验证它。


无法工作 - 强制输入数字(即,1.0.0.1 是无效的) - Graeme

0

或者你也可以选择

editext ss;
ss.setInputType(InputType.TYPE_CLASS_NUMBER);

无法工作 - 强制要求输入一个数字(例如,1.0.0.1 是无效的) - Graeme
它好像没有找到它的ID(EditText ID),可能是@Graeme。 - Raghav Chopra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接