Функция выполнения Android после нажатия «Enter» для EditText

Я слежу за официальными обучающими программами Android, и у меня возникла проблема с этим очень простым примером для выполнения функции после нажатия «Enter» для EditText.

Я понимаю, что я должен делать, и, похоже, все настроено правильно, но Eclipse жалуется на эту строку:

edittext.setOnKeyListener(new OnKeyListener() { 

Он подчеркивает setOnKeyListener с ошибкой:

Метод setOnKeyListener (View.OnKeyListener) в типе View не применим для аргументов (новый DialogInterface.OnKeyListener () {})

А также подчеркивает OnKeyListener с ошибкой:

Тип new DialogInterface.OnKeyListener () {} должен реализовать наследуемый абстрактный метод DialogInterface.OnKeyListener.onKey (DialogInterface, int, KeyEvent)

Может, кто-то может застрелить меня в правильном направлении? Прежде чем я попробую другие решения (которые я уже нашел в stackoverflow), мне бы очень хотелось это понять, потому что это меня раздражало, что что-то настолько простое, как официальный учебник, не кажется работой.

Заранее спасибо.

Solutions Collecting From Web of "Функция выполнения Android после нажатия «Enter» для EditText"

Из того, что я вижу, похоже, что у вас неправильный импорт.

Пытаться

 edittext.setOnKeyListener(new View.OnKeyListener() { 

ИЛИ добавить этот импорт

 import android.view.View.OnKeyListener; 

И удалите этот

 import android.content.DialogInterface.OnKeyListener; 

Чтобы получить событие клавиатуры, View должен иметь фокус. Чтобы заставить это использовать:

 edittext.setFocusableInTouchMode(true); edittext.requestFocus(); 

После этого продолжите с тем же кодом в примере:

 edittext.setOnKeyListener(new View.OnKeyListener() { public boolean onKey(View v, int keyCode, KeyEvent event) { // If the event is a key-down event on the "enter" button if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { // Perform action on key press Toast.makeText(HelloFormStuff.this, edittext.getText(), Toast.LENGTH_SHORT).show(); return true; } return false; } }); 

Удалите оператор импорта с DialogInterface , затем импортируйте View.OnKeyListener .