Обратный вызов при наборе символа в поле ввода blackberry

Мне нужно получить обратный вызов с каждым напечатанным или удаленным символом в EditField в ежевике. Мне нужно получить текст EditField как только это написано, не теряя внимания.

1 ответ

Решение

Есть несколько способов сделать это. Например, если у вас есть EditField например, как это:

private EditField _editField;

тогда вы можете подкласс EditField и переопределить keyChar() метод:

_editField = new EditField() {
    protected boolean keyChar(char key, int status, int time) {
       super.keyChar(key, status, time);
       // 'key' is the most recent entered char
    }
});

или вы можете реализовать FieldChangeListener и прислушиваться к изменениям:

_editField.setChangeListener(new FieldChangeListener() {
    public void fieldChanged(Field field, int context) {
        String text = _editField.getText();
        // 'text' is the full text contents of the EditField
    }
});
Другие вопросы по тегам