Implementei dentro do método OnCreate da minha activity principal, um evento chamado setOnKeyListenner. Com isso, ao pressionar qualquer tecla, é realizado um cálculo que retorna a conversão de bases do valor informado e o retorno é o resultado deste cálculo para o edittext correspondente.
O problema é que no emulador, tudo funciona corretamente, porém no aparelho, quando digito qualquer valor independente de qual campo, funciona, e o cálculo é realizado normalmente, porém ao realizar a operação de apagar o valor informado, um por um, o cálculo não é atualizado e o valor de retorno nos outros edittext’s não aparece.
Exemplo:
No campo Binario, informo o seguinte valor: 1001
Com isso, os campos “Decimal, Octal e Hexadecimal” recebem o resultado da conversão.
PROBLEMA:
O problema está quando apago cada um dos valor informados no campo Binário(1001). Ou seja, não está sendo atualizado nos demais campos o novo valor.
Meu Código:
[code]public class MainActivity extends Activity {
private EditText cpBin;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cpBin = (EditText) findViewById(R.id.editBin);
cpBin.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
String dado = cpBin.getText().toString();
if (dado == null || dado.equals("")) {
limparCampos();
} else {
cpDec.setText(String.valueOf(objCalc.converteBinarioParaDecimal(dado)));
cpHex.setText(objCalc.converteBinarioParaHexadecimal(dado));
cpOct.setText(objCalc.converterBinarioParaOctal(dado));
}
return false;
}
});
}
}[/code]