Возврат значения из EditText при нажатии OK

Интерфейс, диалоги, темы, стили, меню
Ответить
YettyZzZone
Сообщения: 8
Зарегистрирован: 03 фев 2014, 15:40
Откуда: Izhevsk

Возврат значения из EditText при нажатии OK

Сообщение YettyZzZone » 12 окт 2015, 18:03

Почему данный метод не дает возможности удалить уже введенное в EditText, а также срабатывает при нажатии экранного стирания текста и увеличения шрифта (Shift)? Также пропадает возможность вернуться на предыдущий экран.

Код: Выделить всё

name.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if((event.getAction() == KeyEvent.ACTION_DOWN) || (event.getAction() == KeyEvent.KEYCODE_ENTER)) {
                    String nameDemo = name.getText().toString();
                    String name1 = getString(R.string.name1);
                    String name2 = getString(R.string.name2);
                    nameText.setText(name1 + nameDemo + name2);
                    return true;
                }
                else
                    return false;
            }
        });

Аватара пользователя
doter.ua
Сообщения: 1106
Зарегистрирован: 23 ноя 2013, 16:08
Откуда: Ukraine

Re: Возврат значения из EditText при нажатии OK

Сообщение doter.ua » 12 окт 2015, 20:06

Создай отдельную кнопку типа "готово" и считывай результат по ее событию.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.

YettyZzZone
Сообщения: 8
Зарегистрирован: 03 фев 2014, 15:40
Откуда: Izhevsk

Re: Возврат значения из EditText при нажатии OK

Сообщение YettyZzZone » 12 окт 2015, 20:11

doter.ua писал(а):Создай отдельную кнопку типа "готово" и считывай результат по ее событию.
Имеется ввиду отдельную кнопку Button? Я сначала хотел так сделать, но хочется реализовать именно через нажатие экранной кнопки ОК, чтобы пользователю не приходилось нажимать что-то еще, а сразу получить результат.

Ответить