2013-04-30 37 views
2

我有一個嚴格的數字字段供用戶填寫,默認輸入模式爲數字。 在「Java(TM)Platform Micro Edition SDK 3.0」模擬器中,以下代碼正常工作。LWUIT TextField數字默認輸入模式在物理QWERTY鍵盤上不起作用

但是,在物理QWERTY鍵盤設備上,如諾基亞E72,它不是。

限制只寫數字的工作。但該字段的默認輸入模式不是。用戶必須使用'Shift'+號碼才能輸入號碼,而不是隻按一個號碼的鍵。

我正在使用的代碼如下:

inputField.setConstraint(TextField.NUMERIC); 

    inputField.setInputMode("123"); //I tried commenting this line in case it was 
               //causing a problem, but it still occurred. 
    inputField.setInputModeOrder(new String[]{"123"}); 

我怎樣才能使數字-without-不必使用原始輸入(T9)屏幕默認的寫作?

回答

0

我認爲你不能啓用此功能。 您的限制是對來自設備的中斷作出反應。只有在用戶中斷號碼輸入的情況下,文本字段纔會被編輯。

注意,只有在T9中使用中斷纔是數字。因此,當您在沒有T9的情況下使用時,系統將此按鍵識別爲文本輸入,Lwuit不會將此輸入編輯爲數字。

1

如果您使用TextArea,這將起作用(因爲用戶將只使用本機編輯),如果我沒有記錯,您可以覆蓋insertChar(),只是阻止這些設備的文本輸入。我認爲我們在Codename One中解決了這個問題。

+0

我與TextArea有同樣的問題。除非用戶按shift +數字,否則原生輸入屏幕將不會打開。不幸的是,我沒有足夠的時間將項目轉移到新框架。 – Gabriel 2013-05-07 14:03:29

+0

TextArea不允許功能手機輸入,這完全是TextField的一項功能。 – 2013-05-07 18:43:21

相關問題