Страницы

Поиск по вопросам

воскресенье, 9 февраля 2020 г.

Как обработать клавишу enter при вводе текста в EditText android

#android #java


Есть EditText, нужно выполнять какие-то события, когда пользователь нажал Enter.    


Ответы

Ответ 1



Создать класс, наследующийся от EditText; В этом классе переопределить метод onKeyUp или onKeyDown, зависит от того, нужно ли полностью перекрыть дефолтную функциональность Enter; В переопределенном методе написать что-то вроде следующего: public boolean onKeyUp (int keyCode, KeyEvent event) { if (keyCode == KEYCODE_ENTER) { //Делаем то, что нам нужно... } else { super.onKeyUp(); } } Вариант без наследования класса: EditText editText = (EditText) findViewById(R.id.edit); editText.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { boolean consumed = false; if (keyCode == KEYCODE_ENTER) { //Делаем то, что нам нужно... consumed = true; //это если не хотим, чтобы нажатая кнопка обрабатывалась дальше видом, иначе нужно оставить false } return consumed; } });

Ответ 2



Можно и не создавать своего класса-наследника от EditText. Достаточно к существующему виджету навесить нужный (onKeyUp) лисенер

Комментариев нет:

Отправить комментарий