Provavelmente o primeiro evento é do tipo "down" e o segundo do tipo "up". Se for isso mesmo, é o esperado.
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 LacerdaAnalista de Sistemas
0 comentários:
Postar um comentário