我有这个:
int life=3;
if (life=2){
txt1.setVisibility(View.INVISIBLE);
}
else if (life=1){
txt2.setVisibility(View.INVISIBLE);
}
else if (life=0){
txt3.setVisibility(View.INVISIBLE);
}
但我收到错误“类型不匹配:无法从int转换为布尔值”。那么,你能帮我解决这个问题吗?
答案 0 :(得分:2)
==
代表比较,=
代表作业。所以你需要这个
int life=3;
if (life==2){
txt1.setVisibility(View.INVISIBLE);
}
else if (life==1){
txt2.setVisibility(View.INVISIBLE);
}
else if (life==0){
txt3.setVisibility(View.INVISIBLE);
}
仅供参考,if()采用布尔参数而非整数,因此编译器 在告诉你同样的事情 错误
答案 1 :(得分:1)
编译器抱怨if
语句,因为您传递的是int
值(life = 2
)而不是boolean
(life == 2
)。用equals运算符(=
)替换赋值运算符(==
)没关系,但对于这种情况,您应该考虑更改if
这样的switch-case
块,用于switch (life) {
case 2:
txt1.setVisibility(View.INVISIBLE);
break;
case 1:
txt2.setVisibility(View.INVISIBLE);
break;
case 0:
txt3.setVisibility(View.INVISIBLE);
break;
}
语句.-
{{1}}
答案 2 :(得分:0)
更改此
if (life=2){
txt1.setVisibility(View.INVISIBLE);
}
else if (life=1){
txt2.setVisibility(View.INVISIBLE);
}
else if (life=0){
txt3.setVisibility(View.INVISIBLE);
}
到这个
if (life==2){
txt1.setVisibility(View.INVISIBLE);
}
else if (life==1){
txt2.setVisibility(View.INVISIBLE);
}
else if (life==0){
txt3.setVisibility(View.INVISIBLE);
}