Foros del Web » Programando para Internet » Android »

Evento onKeyDown al pulsar cualquier tecla

Estas en el tema de Evento onKeyDown al pulsar cualquier tecla en el foro de Android en Foros del Web. me gustaria saber cual es el evento para comprobar cada vez que se escriba alguna letra, osease que se presione alguna tecla entre al evento, ...
  #1 (permalink)  
Antiguo 29/09/2011, 10:32
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años, 5 meses
Puntos: 4
Evento onKeyDown al pulsar cualquier tecla

me gustaria saber cual es el evento para comprobar cada vez que se escriba alguna letra, osease que se presione alguna tecla entre al evento, tengo el onkeydown pero no me lo reconoce al escribir por ejemplo un numero, solamente me detecta cuando pulso la tecla ESC. Este es el evento que tengo:

Código JAVA:
Ver original
  1. public boolean onKeyDown(int keyCode, KeyEvent event) {
  2.         Log.w("DEBUG","entra");
  3.        
  4.         if(ss.length() == 16){
  5.             Log.w("DEBUG", "16");
  6.            
  7.             ss.setEnabled(false);
  8.             ex = new Extraccion_web();
  9.            
  10.             if(ex.ValidarSS(ss.getText().toString())){
  11.                 nom.setText(ex.getName());
  12.                 boton_reg.setEnabled(true);
  13.             }//FIN if
  14.             else{
  15.                 Log.w("DEBUG", "falso");
  16.                
  17.                 //Toast personalizado, muestra un mensaje y un icono en el mensaje.
  18.                 Toast toast3 = new Toast(getApplicationContext());
  19.                  
  20.                 LayoutInflater inflater = getLayoutInflater();
  21.                 View layout = inflater.inflate(R.layout.layout_toast2,
  22.                                 (ViewGroup) findViewById(R.id.lytLayout));
  23.          
  24.                 TextView txtMsg = (TextView)layout.findViewById(R.id.txtSms);
  25.                 txtMsg.setText("El número de la SS no es correcto.");
  26.          
  27.                 toast3.setDuration(Toast.LENGTH_SHORT);
  28.                 toast3.setView(layout);
  29.                 toast3.show();
  30.                
  31.                 ss.setText("");
  32.                 ss.requestFocus();
  33.                 ss.setEnabled(true);
  34.                 nom.setEnabled(false);
  35.                 boton_reg.setEnabled(false);
  36.                
  37.             }//FIN else
  38.         }//FIN if
  39.        
  40.         return true;
  41.     }//FIN onKeyDown
  #2 (permalink)  
Antiguo 29/09/2011, 13:51
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 13 años, 4 meses
Puntos: 74
Respuesta: Evento onKeyDown al pulsar cualquier tecla

Nunca e usado esa función, pero para que quieres saber cada vez que se teclee algo? por que no leer todo el string completo no seria mas fácil? una posible solución es que sepas los valores hexadecimales de cada tecla pero no se si exista alguna tabla en algún lugar e ir comparando con lo que vas obteniendo del evento.
  #3 (permalink)  
Antiguo 29/09/2011, 17:45
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Evento onKeyDown al pulsar cualquier tecla

Hola,

Aquí tienes información que te puede ayudar >> http://developer.android.com/referen.../KeyEvent.html

y aquí >> http://developer.android.com/guide/t...ui-events.html

Saludos
  #4 (permalink)  
Antiguo 30/09/2011, 02:19
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Evento onKeyDown al pulsar cualquier tecla

Yo lo que quiero hacer que cada vez que teclee una letra o numero, compruebe su longitud y cuando su longitud sea 16, que deshabilite este campo y muestre una cosa en otro campo mediante una función y habilite un botón.

¿Alguien me ayuda?
Un saludo.
  #5 (permalink)  
Antiguo 30/09/2011, 04:58
Avatar de javih  
Fecha de Ingreso: agosto-2011
Mensajes: 201
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Evento onKeyDown al pulsar cualquier tecla

Eso lo puedes hacer con lenght y cuando el string tenga un tamaño de 16 haces otra cosa.

http://developer.android.com/referen...g.html#length()
  #6 (permalink)  
Antiguo 30/09/2011, 08:48
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Evento onKeyDown al pulsar cualquier tecla

Cita:
Iniciado por javih Ver Mensaje
Eso lo puedes hacer con lenght y cuando el string tenga un tamaño de 16 haces otra cosa.

http://developer.android.com/referen...g.html#length()
Si ya se que para mirar el tamaño de un string se utiliza la funcion "length()". Si en eso no tengo el problema, lo que quiero es que manera puedo utilizar para comprobar eso cada vez que inserto algo en el editText. Osea, cada vez que inserto una letra o un numero en el editText comprobar la longitud y hacer el resto de lo que queria hacer.
  #7 (permalink)  
Antiguo 03/10/2011, 01:10
Avatar de ir3al  
Fecha de Ingreso: mayo-2010
Ubicación: Talavera de la Reina
Mensajes: 110
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Evento onKeyDown al pulsar cualquier tecla

Solucionado.

Etiquetas: evento, onkeydown, pulsar, tecla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:10.