1

使用 Lwuit 1.5 版,我在使用Virtual Keyboard时遇到问题。给定一个带有数值约束的 TextField。 尽管给出了约束,输入的第一个字符将直接进入文本字段。

actionCommand我在VirtualKeyboard.java产生这个问题时找到了源代码;

case INSERT_CHAR:
            Button btn = currentButton;
            String text = btn.getText();
            if (inputField.getText().length() == 0) {
                inputField.setText(text);
                inputField.setCursorPosition(text.length());
            } else {
                inputField.insertChars(text);
            }
            break;

如上所示,第一个字符将永远不会通过insertChars并稍后检查有效性。

问题是:我无法弄清楚为什么要实施这种行为,如果我覆盖删除“if”部分,我害怕破坏我没有意识到的东西。

有谁知道可能是什么原因?

如果有人已经有此问题的 Workarround,请不胜感激。

4

1 回答 1

0

它是 LWUIT 1.5 中的一个已知错误,我们在Codename One中修复,不幸的是,没有人再维护 LWUIT。

您的选择是忍受这个问题,修补 LWUIT,使用TextArea(这是完全不同的)或迁移到 Codename One。

于 2013-10-08T06:24:55.763 回答