我正在创建一个相当毫无意义的Android应用程序,它有两个按钮和两个textview。
它的计数器int设置为0.
名为add的第一个按钮,向计数器添加1,第二个名为sub的按钮,从计数器中减去一个。
如果计数器大于1,则显示totalPlus文本视图,其中包含当前计数器值。
如果coutner等于0或更小,则显示totalMinus textview,并显示当前计数器值。
在这两种情况下,隐藏了不相关的文本视图。
我遇到的问题是,如果我在+5上,会显示顶部计数器,当我按下按钮时会看到递增。但是,如果我按下减法按钮,当前的文本视图会隐藏,直到我达到0或更少,其中minusTextView显示。它有两种方式。
[代码]
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counter = 0;
add = (Button) findViewById(R.id.bAdd);
sub = (Button) findViewById(R.id.bSub);
totalPlus = (TextView) findViewById(R.id.totalPlus);
totalMinus = (TextView) findViewById(R.id.totalMinus);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
counter++;
if (counter > 1)
totalPlus.setVisibility(View.VISIBLE);
totalMinus.setVisibility(View.INVISIBLE);
totalPlus.setText("Your Total is " + counter);
}
});
sub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
counter--;
if (counter <0)
totalMinus.setVisibility(View.VISIBLE);
totalPlus.setVisibility(View.INVISIBLE);
totalMinus.setText("Your Total is " + counter);
}
答案 0 :(得分:0)
Java忽略缩进级别。如果if
语句通过,则需要在要执行的所有三个语句周围使用大括号。
if (counter <0) { // <-- this
totalMinus.setVisibility(View.VISIBLE);
totalPlus.setVisibility(View.INVISIBLE);
totalMinus.setText("Your Total is " + counter);
} // <-- and this
如果不包含这些大括号,Java只会将第一个语句视为if
构造的一部分;其他两个语句在该构造之外,并将始终执行。