Quando uso o requestFocus, ele seta o focus no EditText desejado, porém se vou digitar algo, sai o texto no proximo campo, e se clico em outro campo fica o cursor no campo em que usei o requestFocus e no que cliquei
edtDescSTotalPorc.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
if ("".equals(edtDescSTotalPorc.getText().toString())) {
edtDescSTotalPorc.setText(“0”);
edtDescSTotal.setText(“0”);
} else {
if (Double.valueOf(edtDescSTotalPorc.getText().toString()) <= restoValorDescMaximo) {
if (!getCriticaSairDescTotPorcent()) {
edtDescSTotal.setText(String.valueOf(getPorcParaValor(Double.valueOf(edtDescSTotalPorc.getText().toString()),
subTotal)));
setTotalPedido(subTotal, Double.valueOf(edtDescSTotal.getText().toString()));
edtValorTotalGeral.setText(String.valueOf(getTotalPedido()));
}
} else {
Dialogs.dialogCustomizado("Aviso!", "Limite de desconto excedido!", PedidoCadActivity.this, TipoMensagem.ALERTA, null);
edtDescSTotalPorc.setText("");
edtDescSTotalPorc.requestFocus();
}
}
} else {
edtDescSTotalPorc.setText("");
}
}
});
}