OnEditorActionListener не работает

Я просто хочу поймать событие, когда пользователь нажимает enter на editText.

Я не получил сообщение Toast, а не «Enter нажал», а не «Some key нажал!». или.

Что делать не так?

myEditText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { Toast.makeText(getApplicationContext(), "Some key pressed!", Toast.LENGTH_LONG).show(); if (event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { Toast.makeText(getApplicationContext(), "Enter pressed", Toast.LENGTH_LONG).show(); return true; } return false; } }); 

РЕДАКТИРОВАТЬ :

Ну, он работает на Android 2.3.3 и не работает на 4.1.2. Любые идеи, как я могу сделать эту работу на любом устройстве Android?

Solutions Collecting From Web of "OnEditorActionListener не работает"

Попробуйте установить EditText в однострочном режиме.

 editText.setSingleLine(); 

Или в вашем файле макета xml:

 android:singleLine="true" 

ОБНОВИТЬ

android:singleLine="true" устарел. С этого android:maxLines="1" используйте android:maxLines="1" с android:inputType="text" для достижения такого поведения

А ТАКЖЕ

 editText.setMaxLines(1); editText.setInputType(InputType.TYPE_CLASS_TEXT); 

Для программирования программно.

 myEditText.setOnEditorActionListener(new OnEditorActionListener() { public boolean onEditorAction(TextView arg0, int arg1, KeyEvent arg2) { Toast.makeText(getApplicationContext(), "some key pressed", Toast.LENGTH_LONG) .show(); return false; } }); 

Этот код отображает мне какую-то клавишу нажатой при нажатии клавиши ввода после ввода чего-то в моем edittext. Но у меня нет проблем в коде.

android:imeOptions="actionGo" в xml. actionDone больше не отвечает на onEditorAction .

Проблема для меня заключалась в том, что я установил в XML android:inputType="textMultiline" . Когда я удалил параметр textMultiline , EditorListener начал работать.