如何在android中将整数转换为布尔值

时间:2013-10-11 07:29:27

标签: android integer boolean

我有这个:

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转换为布尔值”。那么,你能帮我解决这个问题吗?

3 个答案:

答案 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)而不是booleanlife == 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);
}