打开数字键盘而不强制EditText仅为数字

我在创建自己的Keyboard时遇到过这种情况,但在我的生活中无法记住我遇到过它的地方。

我想要打开数字键盘。 但是,我希望我的EditText只接受IP地址。 由于这个答案,在我的EditText添加一个filter并不太难。

但是,现在我想让数字键盘打开而不是标准文本键盘。 不幸的是,搜索结果已经饱和了“如何将EditText限制为数字输入?” 问题一遍又一遍。

任何人都可以指向我手动打开数字键盘的正确位置。

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

晚了8天但好吧!

 android:inputType="number" 

适合我。 当然,假设并非所有键盘都具有数字输入样式,Glitch的答案可能会更好。 当然,你仍然需要validation它

添加到现有解决方案,如果您想限制只是数字和点,您可以添加

 android:digits="0123456789." 

到EditText的xml。 因此,结合当前的解决方案和上述:

 android:inputType="phone" android:digits="0123456789." 

将确保您能够在EditText中放置与IP地址相关的内容。 现在,当键盘出现时,键上有T9字母,但这是“phone”inputType的function。 此外,您必须在输入后确保它是有效的IP。

或者你也可以去

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