Как установить настраиваемый код виртуальной клавиатуры в сгенерированный код машины состояний редактора ресурсов (LWUIT или Codenameone)
Прежде чем я решил сделать этот вопрос, я искал ответ здесь, но не нашел. Извините за мой плохой английский, но это не мой родной язык.
Вот моя проблема:
Я создал приложение 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 ограничение является Числовым. Я знаю, что есть ошибка с ограничением числового значения и пароля, но я пытался задать ЛЮБОЕ ограничение для TextField, но оно не работает.
Может ли кто-нибудь помочь мне? Это было бы так же, как в коденамоне? Большое спасибо.
1 ответ
Ты используешь Display.getInstance().getCurrent()
вместо использования f
в методе before show новая форма еще не является текущей.
http://codenameone.blogspot.com/2010/06/pimp-virtualkeyboard-by-chen-fishbein.html