在我决定提出这个问题之前,我已经在这里搜索了答案,但没有找到。对不起我的英语不好,但这不是我的母语。
这是我的问题:
我已经将一个从资源编辑器生成的 LWUIT 1.5 应用程序放入 Netbeans,我想用我自己的按钮自定义 VirtualKeyboard,然后将它们绑定到 TextField,但我不知道在哪里放置代码。我已经尝试将它放入我的表单“MyForm”的 BeforeShow 中,或者像这样在 PostShow 中:
protected void beforeMyForm(Form f) {
// If the resource file changes the names of components this call will break notifying you that you should fix the code
super.beforeMyForm(f);
VirtualKeyboard vkb = new VirtualKeyboard();
//I declared the new input
String[][] CALC_NUM = new String[][]{
{"1", "3", "5",},
{"7", "9", "0",},
{".","$OK$"}
};
//Added the new input mode
vkb.addInputMode("137_C", CALC_NUM);
vkb.setInputModeOrder(new String[]{"137_C"});
//Bind the vkb to my TextField
VirtualKeyboard.bindVirtualKeyboard(findTfCalc(Display.getInstance().getCurrent()), vkb);
}
在 beforeShow 中有一个 NullPointerException 并且在 postShow 中没有任何反应。
在 TextField 的属性中,约束是数字的。我知道数字和密码约束存在错误,但我尝试将 ANY 约束赋予 TextField,但它不起作用。
有人可以帮我一把吗?在 Codenameone 中也是一样的吗?非常感谢。