信用卡的正确输入类型

问题描述:

我试图为接受信用卡号码的字段设计输入类型。信用卡的正确输入类型

我一直在使用inputType =“number” - 但这不会让硬件键盘的人击中空格键。当他们跳转到活动中的另一个字段时。

我希望允许用户在他们想要的数字中使用空格,或者至少使其成为可以使用硬键盘的用户打开空格时, t留下信用卡号码EditText。

理想情况下,我可以实现一些接口,并有我自己的自定义inputType,但我不知道这是可能的。

  • 是否可以允许数字和空格,同时显示数字软键盘?
+0

我试过离开它“数量”和加入机器人:imeOptions =“flagNoEnterAction”的EditText上,但仍然 - 当硬件键盘空格键被击中,就跳转到看起来随意的EditText进一步下来的活动布局。 –

+0

[“拦截硬键,覆盖InputMethodService.onKeyDown()”](http://developer.android.com/resources/articles/creating-input-method.html)。从底部标题“拦截硬件事件”中读取。可能有帮助? – Graeme

+0

如果您无法找到截取方法尝试使用普通的TextView并手动打开数字键盘。 [这些资源](http://developer.android.com/resources/browser.html?tag=input)在我使用InputMethods时对我非常有帮助。 – Graeme

我没有给你一个明确的答案,但这里有一些资源,我拿起:

我发现这个线索,以“抓”硬按键:“To intercept hard keys, override InputMethodService.onKeyDown()”。从底部标题“拦截硬件事件”中读取。

如果你找不到一个拦截和处理“空格”键的方法,我会建议使用普通的TextView并手动打开数字键盘而不是qwerty键盘(有关一般信息的更多信息,请参阅Input Reference )。然后,您可以验证从硬键盘按下的按键。

对不起,我不能给你一个更坚实的答案!

+0

我认为这是我在这种情况下必须做的......但这很奇怪,因为只有空格键会将光标跳到另一个字段 - 任何其他不允许的字符都不会做任何事情,并且会保留选中的“数字”字段。 –

android:inputType="phone"如何在您的布局xml文件?

+0

我对这方面的见解也很感兴趣,这看起来好多了,它显示出更大的数字键盘 –

最好的choise是InputType.TYPE_CLASS_DATETIME

+0

这很冒险,但它对我很有用 – marchinram