Pregunta

I need to get a callback with every character typed or deleted in EditField in BlackBerry. I need to get the text of EditField as soon as it is written, without losing focus.

¿Fue útil?

Solución

There's multiple ways to do this. For example, if you have an EditField instance like this:

private EditField _editField;

then you can subclass EditField and override the keyChar() method:

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

or, you can implement a FieldChangeListener and listen for changes:

_editField.setChangeListener(new FieldChangeListener() {
    public void fieldChanged(Field field, int context) {
        String text = _editField.getText();
        // 'text' is the full text contents of the EditField
    }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top