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:
- Cómo cambiar el color del borde (no centrado) de un EditText?
- ¿Hay alguna manera de establecer la posición del cursor en EditText de izquierda a derecha 2dp
- Implementación de etiquetas flotantes en línea (con EditText?)
- Mostrar el texto del ayudante debajo de EditText junto con la sugerencia
- Cómo ocultar el teclado cuando haga clic fuera de editText?
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.
- El teclado Android se esconde EditText
- FindViewById devuelve null para EditText
- Error de Stackoverflow causado por SeekBar y EditText cambiando uno otro
- SetCompoundDrawablesWithIntrinsicBounds (int, int, int, int) no funciona
- En Android - ¿Cómo puedo registrar solo clics largos usando un ClickableSpan
- ¿Cómo se establece el número máximo de caracteres para un EditText en Android?
- Android - ¿Cómo puedo activar una validación para un campo edittext
- ¿Cómo detectar el golpe a la izquierda oa la derecha en Android?
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
.