Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] KeyListener Event

Provavelmente o primeiro evento é do tipo "down" e o segundo do tipo "up". Se for isso mesmo, é o esperado.

On Dec 1, 2012 11:49 PM, "Marcos Reis | .Mobi" <marcos.reis@pontomobi.com.br> wrote:
Boa noite galera,

Criei um evento de onKeyListener para meu EditText com o seguinte trecho:


protected OnKeyListener validarChassi() {

        return new OnKeyListener() {

            

            @Override

            public boolean onKey(View v, int keyCode, KeyEvent event) {

                if (keyCode == KeyEvent.KEYCODE_ENTER) {

                    // Valida se o chassi não esta cadastrado

                    if (MVWChassiValidator.chassiRegistered(edtNumeroChassi.getText().toString(), Chassi.this)) {

                        DialogHelper.showWarningDialog(getResources().getString(R.string.msg_chassi_cadastrado), null, Chassi.this);

                        return false;

                    }

                    

                    // Recuperando o número do Chassi digitado pelo usuário

                    String numeroChassiDigitado = edtNumeroChassi.getText().toString();

                    String isChassiValid;

                    

                    // Setando o contexto

                    MVWChassiValidator.setContext(Chassi.this);

                    

                    try {

                        isChassiValid = MVWChassiValidator.parse(numeroChassiDigitado);

                    } catch (Exception ex) {

                        isChassiValid = null;

                        DialogHelper.showErrorDialog(getResources().getString(R.string.msg_numero_chassi_invalido), null, Chassi.this);

                        return false;

                    }

                    

                    if ((isChassiValid == null) || (isChassiValid.trim().length() == 0) || (isChassiValid.equalsIgnoreCase(getResources().getString(R.string.msg_numero_chassi_invalido)))) {

                        DialogHelper.showErrorDialog(getResources().getString(R.string.msg_numero_chassi_invalido), null, Chassi.this);

                        return false;

                    }

                    

                    // Carrega os dados referente ao carro e habilita os campos na tela

                    exibirDetalhesCarro(isChassiValid);

                }

                

                return false;

            }

        };

    }


E associei ao meu componente assim:


edtText.setOnKeyListener(validarChassi());


Esta funcionando certinho, porém não sei por qual motivo esta disparando o evento 2 vezes. 

Alguém teria alguma ideia do que pode ser??


Obrigado a todos.


--
Coordialmente,
Marcos Lacerda
Analista de Sistemas

--
 
 

--
 
 

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

0 comentários:

Postar um comentário