我想制作一个计算器,使用Add按钮获取2个不同的EditText并添加它们,在Toast上显示。但是当我直接点击按钮而没有输入任何值时,应用程序崩溃了。我很高兴听到解决方案。我尝试使用if与null进行比较。这是代码:
if(num1 != null && num2 != null){
som.setOnClickListener(
new View.OnClickListener(){
@Override
public void onClick(View v){
Double valor1 = Double.parseDouble(num1.getText().toString());
Double valor2 = Double.parseDouble(num2.getText().toString());
Double Soma = valor1+valor2;
Toast.makeText(MainActivity.this,"A soma é: "+Soma, Toast.LENGTH_LONG).show();
}
});
}
答案 0 :(得分:1)
将if(! num1 .getEditableText().toString().matches("") && !num2 .getEditableText().toString().matches(""))
放入onClick方法
答案 1 :(得分:0)
你应该使用num1.getText()。toString()!= null no num1!= null你应该从数字类型设置edittext的inputtype
答案 2 :(得分:0)
试试这个,
if(num1 != null && num2 != null){
som.setOnClickListener(
new View.OnClickListener(){
@Override
public void onClick(View v){
Double valor1=0;
Double valor2=0;
if(!num1.getText().toString().equals(""))
valor1 = Double.parseDouble(num1.getText().toString());
if(!num2.getText().toString().equals(""))
valor2= Double.parseDouble(num2.getText().toString());
Double Soma = valor1+valor2;
Toast.makeText(MainActivity.this,"A soma é: "+Soma, Toast.LENGTH_LONG).show();
}
});
}
答案 3 :(得分:0)
而不是检查editText是否为null
if(num1 != null && num2 != null){
你应该检查你将从editTexts获得的值。
if (num1.getText().toString() != null && !num1.getText().toString().equals("")&&
num2.getText().toString() != null && !num2.getText().toString().equals(""))) {
som.setOnClickListener(
new View.OnClickListener(){
@Override
public void onClick(View v){
Double valor1 = Double.parseDouble(num1.getText().toString());
Double valor2 = Double.parseDouble(num2.getText().toString());
Double Soma = valor1+valor2;
Toast.makeText(MainActivity.this,"A soma é: "+Soma, Toast.LENGTH_LONG).show();
}
});
}
答案 4 :(得分:0)
如果条件如此
if(num1 != "" && num2 != ""){
}
让我知道它是否有助于你