因此,在我正在制作的此计算器应用程序中,如果先前执行的操作为“等于”,那么我想清除“结果” textView,以便用户在之后按下按钮“ 4”(或任何其他数字)依次按“ 45”,“ +”,“ 10”,“ =”按钮,将清除所有内容,以使输入的新数字不会在之前的计算中进行运算。
为此,我在if
中设置了以下onClickListener
语句,如果用户按下任意数字按钮或小数,则调用该语句。
displayOperation是显示用户按下的操作按钮的TextView。因此,如果用户按下“ +”,则显示操作将显示“ +”。
您可以在此处查看布局-http://prntscr.com/pjm0xu
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Button b = (Button) v;
if (displayOperation.getText().toString() == "=") {
operand1 = null;
operand2 = null;
displayOperation.setText(null);
result.setText(null);
}
newNumber.append(b.getText().toString());
testView.setText(displayOperation.getText().toString());
}
};
我尝试过的事情-
我制作了一个名为testView的TextView(您可以在此处看到),并使用相同的文本设置它
displayOperation.getText().toString
我在if
语句中使用的语句,以确保它在显示“ =”时返回“ =”并且可以正常工作。每当我上一次执行的操作是'='时,testView都会显示'=',然后我按下数字按钮。
我还将if
语句中的条件设置为true
,以确保if
语句为true时if
语句中的代码可以正常工作。确实如此。它按预期工作。
那么,为什么if语句不执行呢?我究竟做错了什么?