#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) лисенер
Комментариев нет:
Отправить комментарий