我有一个严格的数字字段供用户填写,默认的输入模式是数字。 在" Java(TM)Platform Micro Edition SDK 3.0"模拟器,以下代码正常工作。
但是,在物理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"});
如何启用默认的数字写入 - 无需使用本机输入(T9)屏幕?
答案 0 :(得分:1)
如果您使用TextArea,这将起作用(因为用户将仅使用本机编辑),如果我没记错,您可以覆盖insertChar(),只是阻止这些设备的文本输入。我想我们已经在Codename One修复了这种行为。
答案 1 :(得分:0)
我认为你无法启用此功能。 您的限制是对来自设备的中断作出反应。只有在用户中断号输入的情况下才会编辑文本字段。
注意,只有在T9中使用时,中断才是数字。因此,当您在没有T9的情况下使用时,系统会将此按下识别为文本输入,而Lwuit不会将此输入编辑为数字。