Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] onKey é chamado duas vezes

Olá Derci,

Em geral, quando você clica num botão, pelo menos 2 eventos ocorrem: o ACTION_DOWN (quando você aperta o botão) e o ACTION_UP, quando você solta o botão. Para mais detalhes, consulte a página do Developer: http://developer.android.com/reference/android/view/KeyEvent.html

Each key press is described by a sequence of key events. A key press starts with a key event with ACTION_DOWN. If the key is held sufficiently long that it repeats, then the initial down is followed additional key events with ACTION_DOWN and a non-zero value for getRepeatCount(). The last key event is a ACTION_UP for the key up. If the key press is canceled, the key up event will have the FLAG_CANCELED flag set.

Minha recomendação, no seu caso, seria alterar o if da seguinte forma

if (keyCode == KeyEvent.KEYCODE_ENTER && event == KeyEvent.ACTION_UP) {
...
}

Usar o ACTION_DOWN não seria recomendado pois, de acordo com a documentação, essa ação pode ser enviada mais de uma vez se o usuário segurar o botão.

Espero que ajude! Att,

Thiago



2013/5/7 Derci Santos <derciii.lima@gmail.com>
Olá galera,

Seguinte, estou capturando o clique no botão OK ou ENTER no teclado do Android. Fiz da seguinte forma: 

edtSenha.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
// Executa o código
}
return false;
}
});

Porém, quando eu clico no botão OK no teclado, o método onKey é chamado duas vezes. Alguém sabe me dizer por que isso ocorre?

Grato.

--
 
Att,
Derci Santos


Recomendação se for reenviar esta mensagem, por favor:

1. Apague o MEU endereço eletrônico e todos os outros constantes do e-mail;
2. Encaminhe como CÓPIA OCULTA (Cco ou Bcc) aos seus destinatários.
3. Agindo desta forma, você estará colaborando para dificultar a disseminação de vírus e spams, e também para tornar a internet mais segura.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Thiago Resek Fabri dos Anjos
Computer Engineer

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário