我正在尝试制作一个计算器,如果在编辑框中没有输入任何值,则显示一条消息。但它的FC!我很长一段时间都在制作应用程序,所以我很困惑。
private OnClickListener startListener = new OnClickListener() {
public void onClick(View v) {
double a=0;
double b=0;
double c=0;
EditText edit;
EditText edit2;
TextView edit3;
String lname="";
edit=(EditText)findViewById(R.id.edit);
edit2=(EditText)findViewById(R.id.edit2);
edit3=(TextView)findViewById(R.id.edit3); // everything defined above
String editstr= edit.getText().toString(); // real work starts
if(editstr.contentEquals(lname))
edit3.setText("Enter value");
else
a=Double.parseDouble(edit.getText().toString()); // else add the stuff
b=Double.parseDouble(edit2.getText().toString());
c=a+b;
edit3.setText(Double.toString(c));
} };
答案 0 :(得分:5)
在你的if-else周围加上括号,目前万一它只执行第一行,无论你是否通过,都会执行其他行。
if(editstr.contentEquals(lname)) {
edit3.setText("Enter value");
} else {
a=Double.parseDouble(edit.getText().toString()); // else add the stuff
b=Double.parseDouble(edit2.getText().toString());
c=a+b;
edit3.setText(Double.toString(c));
}
答案 1 :(得分:0)
如上所述,只有a=Double.parseDouble(edit.getText().toString());
受其他影响。如果您想要其余部分,请在{}
答案 2 :(得分:0)
它确实有效,它永远不会发射。
你应该做
if(editStr.isEmpty())
editStr = "Enter value";
else
{
//editStr.equals("someValue"); //test against some value
//rest
}