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 .

  • Editor simple de RichText en Android
  • "Ellipsize" sólo muestra un punto
  • Detener EditText de obtener foco en inicio de actividad
  • Deshabilitar el menú contextual de EditText
  • Manejar la tecla Enter en EditText a través de diferentes dispositivos
  • Android: Cómo obtener la posición del texto desde el evento táctil
  • Cómo obtener la configuración de EditText maxLength en el código
  • Cómo hacer TextWatcher esperar un tiempo antes de hacer algo de acción
  • EditarTexto en un ListView
  • Mostrar smiley en textview y edittext en android
  • EditText stucks después de animación y vivo de vuelta en el desplazamiento ...?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.