【问题标题】:how to convert integer to boolean in android如何在android中将整数转换为布尔值
【发布时间】:2013-10-11 07:29:26
【问题描述】:

我有这个:

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

【问题讨论】:

  • 使用双等号。如果(生命==2)

标签: android integer boolean


【解决方案1】:

== 代表比较,= 代表赋值。所以你需要这个

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);
   }

FYI , if() 接受 boolean 参数而不是 integer 所以编译器 在告诉你同样的 错误

【讨论】:

    【解决方案2】:

    编译器会抱怨 if 语句,因为您传递的是 int 值 (life = 2) 而不是 boolean (life == 2)。将赋值运算符 (=) 替换为等号运算符 (==) 没关系,但对于这种情况,您应该考虑将 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;
    }
    

    【讨论】:

    • 感谢您的帮助。我不再出现错误,但是当我运行项目时,这些部分不起作用。我必须在这些部分中添加什么才能正常工作?
    【解决方案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 (life==2){
    txt1.setVisibility(View.INVISIBLE);
    }
    else if (life==1){
    txt2.setVisibility(View.INVISIBLE);
    }
    else if (life==0){
    txt3.setVisibility(View.INVISIBLE);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-28
      • 2012-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-03
      • 1970-01-01
      • 2012-02-25
      相关资源
      最近更新 更多