eastywest
@eastywest
Backend developer

Почему не обрабатывается нажатие кнопки ввода в EditText?

При наборе текста в EditText после нажатия кнопки ввода происходит перенос на другую строку, хотя это совсем не нужно. Как можно обработать ввод текста? При ориентации Landscape появляется кнопка Далее и обработка ее нажатия срабатывает.

Сам код:
tv = (TextView) findViewById(R.id.textView);
editText = (EditText) findViewById(R.id.editText);
editText.setOnKeyListener(new View.OnKeyListener() {
  @Override
  public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
    if (keyEvent.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
      tv.setText(editText.getText().toString());
      return true;
    }   
    return false;
});
  • Вопрос задан
  • 3568 просмотров
Решения вопроса 1
eastywest
@eastywest Автор вопроса
Backend developer
Пришел вот к такому решению:

У EditText прописал android:imeOptions="actionNext"

И далее такой код обработчика:
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
	@Override
	public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
		tv.setText(editText.getText().toString());
		return true;
	}
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Nikiti4
@Nikiti4
&& - укороченное И. Чтобы выполнился код в if, нужно одновременно выполнить два нажатия. Замени на укороченное ИЛИ.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы