Я инициализировал VKBImplementationFactory
в startApp()
:
public void startApp() {
VKBImplementationFactory.init();
Display.init(this);
new MenuPrincipalForm(this).show();
}
Я также создал VirtualKeyboard в форме:
...
private VirtualKeyboard vkNombre = new VirtualKeyboard();
...
vkNombre.setInputModeOrder(new String[]{VirtualKeyboard.NUMBERS_SYMBOLS_MODE});
И я привязал эту VirtualKeyboard к TextField:
cintxt=new TextField();
VirtualKeyboard.bindVirtualKeyboard(cintxt, vkNombre);
Я зарегистрировал dataChangeListener
в этом текстовом поле:
public class ModifierFicheClient extends Form implements ActionListener, DataChangedListener
{
...
cintxt.addDataChangeListener(this);
...
}
В методе dataChanged(int type, int index)
я хочу открыть vkNombre
VirtualKeyBoard. Я знаю, что при нажатии TextField
автоматически отображается VirtualKeyboard
. Но есть случай, когда вы переходите к TextField
с помощью программных кнопок прокрутки мобильного телефона, тогда я могу перейти к TextField
, не нажимая его, и я могу печатать любые буквы! Так как же позвонить на VirtualKeyboard
при наборе буквы на телефон моб?
Примечание: я написал System.out.println("zzzz");
в методе dataChanged(int type, int index)
, а вывод пишет две строки "zzzz", когда я набираю one character
! Так почему метод dataChanged
называется two times
, когда я набираю только одну букву?