Справка по редактированию текста - onKeyListener не работает - PullRequest
1 голос
/ 23 января 2012

У меня есть простой текст редактирования, который я добавил в свой макет.Я добавил простой метод OnKeyListener следующим образом в методе onCreate:

final EditText simpleEditText = (EditText) findViewById(R.id.editText1);
simpleEditText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
    System.out.println("HELLO");
    return false;
}
});

Когда приложение запускается, все работает правильно.Для каждой нажатой клавиши HELLO печатается дважды - один раз для действия ВНИЗ и один раз для действия ВВЕРХ.

Теперь, когда я щелкаю мышью по тексту редактирования, текст редактирования больше не запускает код в моем методе onKey.Что я делаю неправильно?Я все еще хотел бы получать ключевые события после того, как пользователь щелкнул в тексте редактирования.Меня не волнует щелчок мыши, я использую его только для изменения положения курсора.После изменения положения курсора ключевые события больше не регистрируются.

См. Прилагаемое изображение для получения дополнительной информации.

Спасибо, Замиль

http://i.stack.imgur.com/j2DP7.jpg

Ответы [ 2 ]

1 голос
/ 23 января 2012

В соответствии с Android API , onKey работает только для физической клавиши, которая была нажата .Возможно, вам придется учитывать OnClickListener для кликов мыши.Вот API документация .

0 голосов
/ 23 января 2012

События кликов не являются ключевыми событиями.Вы не будете (и не должны) получать события onKey ни для чего, кроме ключевых событий.

...