Android ejecutar la función después de presionar "Enter" para EditText

He estado siguiendo los tutoriales oficiales de Android y de alguna manera estoy teniendo un problema con este ejemplo muy simple para ejecutar una función después de presionar "Enter" para un EditText.

Entiendo lo que se supone que debo hacer y parezco tener todo configurado correctamente, pero Eclipse se queja con esta línea:

edittext.setOnKeyListener(new OnKeyListener() { 

Subraya setOnKeyListener con el error:

El método setOnKeyListener (View.OnKeyListener) en el tipo View no es aplicable para los argumentos (nuevo DialogInterface.OnKeyListener () {})

Y también subraya OnKeyListener con el error:

El tipo nuevo DialogInterface.OnKeyListener () {} debe implementar el método abstracto heredado DialogInterface.OnKeyListener.onKey (DialogInterface, int, KeyEvent)

Tal vez alguien me puede disparar en la dirección correcta? Antes de probar otras soluciones (que ya he encontrado en stackoverflow), me gustaría realmente entender esto porque me ha perturbado que algo tan simple de seguir, como un tutorial oficial, no parece funcionar.

Gracias por adelantado.

Por lo que puedo ver, parece que tienes la importación equivocada.

Tratar

 edittext.setOnKeyListener(new View.OnKeyListener() { 

O agregue esta importación

 import android.view.View.OnKeyListener; 

Y Eliminar este

 import android.content.DialogInterface.OnKeyListener; 

Para recibir un evento de teclado, una Vista debe tener el foco. Para forzar este uso:

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

Después continúe con el mismo código en el ejemplo:

 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; } }); 

Elimine la instrucción de importación que tiene DialogInterface , a continuación, importe View.OnKeyListener .

  • Android RequestFocus () Ineficaz
  • Cambiar grosor de la línea inferior de EditText cuando se envuelve en TextInputLayout
  • Android EditText ninguna entrada con external blueTooth Hardware Keyboard
  • ¿Cómo mostrar la lista desplegable debajo de EditText?
  • EditarTexto contenido dentro de ExpandableListView desaparecer al hacer clic en siguiente ExpandableListView encabezado
  • Android newline en mi EditText
  • Detectar evento de teclado en Android
  • Android: EditText no rellenar ScrollView y RelativeLayout
  • Diseño personalizado EditText
  • Android: validar contraseña, conformar contraseña y pasar un valor de cadena a través de botón
  • Cómo agregar TextView y EditText utilizando AlertDialog predeterminado mediante programación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.