When I run my app, the error appears:
java.lang.NumberFormatException: Invalid double: ""
I do not know what to do.
The error happens when I leave a blank value, for example, the app makes the sum of 2 numbers if the user types only a number and clicks to add the app to and informs that an error occurred, if the user typed the number 1 and the number 2 and then clicking on add the app works normally.
This error started to happen after I used NumberFormat to format the monetary value.
This is the code:
public class MainActivity extends AppCompatActivity {
EditText valor, quantidade;
Button btnAdicionar;
Button btnRemover;
Button btnNovo;
double total2 = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
valor = (EditText) findViewById(R.id.valor);
quantidade = (EditText) findViewById(R.id.quantidade);
btnAdicionar = (Button) findViewById(R.id.btnAdicionar);
btnRemover = (Button) findViewById(R.id.btnRemover);
btnNovo = (Button) findViewById(R.id.btnNovo);
btnAdicionar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double valorProduto = Double.parseDouble(valor.getText().toString());
double quantidadeProduto = Double.parseDouble(quantidade.getText().toString());
double total = valorProduto * quantidadeProduto;
total2 = total2 + total;
displayMensagem(NumberFormat.getCurrencyInstance().format(total2));
}
});
btnRemover.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
double valorProduto = Double.parseDouble(valor.getText().toString());
double quantidadeProduto = Double.parseDouble(quantidade.getText().toString());
double total = valorProduto * quantidadeProduto;
total2 = total2 - total;
displayMensagem(NumberFormat.getCurrencyInstance().format(total2));
}
});
btnNovo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
total2 = 0;
displayMensagem(NumberFormat.getCurrencyInstance().format(total2));
}
});
}
private void displayMensagem(String mensagem) {
TextView valorTotal = (TextView) findViewById(R.id.precoTotal);
valorTotal.setText(mensagem);
}
}
If someone has an idea where I'm wrong, I appreciate it.
Att, Juliâncio A Carvalho