2

ユーザーが入力する厳密な数値フィールドがあり、デフォルトの入力モードは数値です。「Java(TM) Platform Micro Edition SDK 3.0」シミュレーターでは、次のコードが正常に機能しています。

ただし、Nokia E72 などの物理的な QWERTY キーボード デバイスでは、そうではありません。

数字だけを書くという制限が働いています。しかし、フィールドのデフォルトの入力モードはそうではありません。ユーザーは、数字のキーを押すだけでなく、数字を入力するために「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"});

ネイティブ入力 (T9) 画面を使用せずに、数値のデフォルトの書き込みを有効にするにはどうすればよいですか?

4

2 に答える 2

1

TextArea を使用する場合、これは機能します (ユーザーはネイティブ編集のみを使用するため)。私の記憶が正しければ、insertChar() をオーバーライドして、それらのデバイスのテキスト入力をブロックすることができます。Codename Oneでこの動作を修正したと思います。

于 2013-05-06T10:54:48.830 に答える