para - manual de programacion android pdf
Android ejecuta la función después de presionar "Enter" para EditText (3)
Elimine la instrucción de importación que tiene DialogInterface
, luego importe View.OnKeyListener
.
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 editar un texto.
Entiendo lo que se supone que debo hacer y parece que todo está 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 (new 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 puede dispararme en la dirección correcta? Antes de probar otras soluciones (que ya he encontrado en stackoverflow), realmente me gustaría resolver esto porque me tiene nervioso que algo tan simple de seguir, como un tutorial oficial, no parece funcionar.
Gracias por adelantado.
Por lo que puedo ver, parece que tienes una importación incorrecta.
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 foco. Para forzar este uso:
edittext.setFocusableInTouchMode(true);
edittext.requestFocus();
Después de eso, 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;
}
});