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:
- Android no puede obtener EditText getText (). ToString () en un diálogo
- Mostrar el último carácter de una contraseña en un EditText
- Problema de enfoque con múltiples EditTexts
- Recurso no encontrado Excepción
- Cómo dibujar rectángulo redondeado en la interfaz de usuario de Android?
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.
- Android EditText: ¿Cómo deshabilitar el movimiento del cursor al tocar?
- Cómo obtener datos de EditText creado dinámicamente con LayoutInflater en android?
- Cómo hacer multiline edittext en android
- Barra de acción de corte / copia personalizada para EditText que muestra las manijas de selección de texto
- Editar el oyente de clave de texto
- Cómo hacer TextWatcher esperar un tiempo antes de hacer algo de acción
- Frontera para EditText?
- OnFocusChange no siempre funciona
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
.