Проблема с Android: EditText, KeyListener и физическая кнопка «Назад»

Моя активность реализует KeyListener, а у моего edittext есть набор ключевых слушателей.

editor = new EditText(this); editor.setMinLines(4); editor.setMinimumWidth(400); editor.setKeyListener(this); 

Когда пользователь набирает что-то и нажимает «enter» на экранной клавиатуре, текст текстового текста устанавливается на вход пользователя.

 @Override public int getInputType() { return InputType.TYPE_TEXT_FLAG_MULTI_LINE; } @Override public boolean onKeyDown(View view, Editable text, int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_ENTER){ outview.setText(editor.getText()); } return true; } 

Здесь outview – это TextView. Моя проблема заключается в том, что в этом действии физическая кнопка возврата не работает. Нажмите его, и ничего не произойдет. Любой совет будет приветствоваться.

onKeyDown true из функции onKeyDown , вы сообщаете Android, что вы обрабатывали все ключевые события. Вместо этого верните true только в случае клавиши ввода. В противном случае возвращает false . Это позволит Android работать с нажатием клавиши «Назад».

Найти вход в мягкую клавиатуру

 txt.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) { outview.setText(editor.getText()); } return true; } }); 
Intereting Posts
Android Drawable: растровое изображение повторного воспроизведения слоя не загружается, когда полностью покрывается Получить последний узел в базе данных Firebase Android Цветовая гамма и артефакты с градиентами, несмотря на использование RGBA_8888 во всем мире Android НеизвестныйHostException Facebook SDK Как найти размер экрана в классе фрагментов Как получить выделенный текст в WebView Android Junit / Mockito – дождитесь выполнения метода Проблема с Android, выясняя, как последнее последнее исправление GPS Как получить текущую активность экрана? Сенсор Android: getRotationMatrix () возвращает неправильные значения, почему? Почему код из учебников Android SDK не работает? Как включить амперсанды в URL-адресах для запуска adb shell? GetItemAtPosition () Как получить читаемые данные из выбранного элемента в ListView Формат EditText для телефонных номеров Андроидные карты асинхронная загрузка элементов наложения