2011-11-10 85 views
6

我試圖爲接受信用卡號碼的字段設計輸入類型。信用卡的正確輸入類型

我一直在使用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

回答

1

我沒有給你一個明確的答案,但這裏有一些資源,我拿起:

我發現這個線索,以「抓」硬按鍵:「To intercept hard keys, override InputMethodService.onKeyDown()」。從底部標題「攔截硬件事件」中讀取。

如果你找不到一個攔截和處理「空格」鍵的方法,我會建議使用普通的TextView並手動打開數字鍵盤而不是qwerty鍵盤(有關一般信息的更多信息,請參閱Input Reference )。然後,您可以驗證從硬鍵盤按下的按鍵。

對不起,我不能給你一個更堅實的答案!

+0

我認爲這是我在這種情況下必須做的......但這很奇怪,因爲只有空格鍵會將光標跳到另一個字段 - 任何其他不允許的字符都不會做任何事情,並且會保留選中的「數字」字段。 –

2

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

+0

我對這方面的見解也很感興趣,這看起來好多了,它顯示出更大的數字鍵盤 –