Как запустить действие, когда пользователь нажал ввод? - PullRequest
7 голосов
/ 18 ноября 2010

Если (в Android) у меня есть поле EditText, как я могу вызвать событие, когда пользователь завершил ввод данных и нажал return / Next?

Я пытался использовать приведенный ниже код, но, похоже, он не дает никакого эффекта. Я также получаю «Метод onEditorAction (EditText, int, KeyEvent) из типа new extView.OnEditorActionListener () {} никогда не используется локально».

myEditText.setOnEditorActionListener(new EditText.OnEditorActionListener() {
            public boolean onEditorAction(EditText v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_NEXT)
                {

Ответы [ 3 ]

9 голосов
/ 18 ноября 2010

Я немного поигрался с разными вещами и обнаружил, что код ниже работает:

myEditText.setOnEditorActionListener(new OnEditorActionListener() {                     
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        // Do some stuff
    }
});
4 голосов
/ 18 ноября 2010

Я полагаю, что вам нужен метод setOnEditorActionListener(), информация о руководстве разработчика здесь о методе.

3 голосов
/ 18 ноября 2010

Добавьте KeyListener в текстовое поле, которое прослушивает ключевые события.В рамках ключевого события прослушайте нажатие клавиши «ВВОД» и выполните свое действие.

Здесь можно найти что-то похожее: Разработка Android: как использовать onKeyUp? и в документах для UI-Events .

Хорошим примером является связанный вопрос SO.После этого вы должны получить желаемый результат.

...