0

我正在使用以下逻辑,我的活动中有两个按钮 1 按钮将标志设置为 F,另一个设置为 C,下面代码中的 SOP 语句打印正确如果标志的值每个如果它的 F 它打印 F 否则它打印C. 但是 If else 语句我不知道出了什么问题,在每个 if else 状态中,我都在尝试 TextView 的 setText,具体取决于条件是 F 还是 C,但每次调用 C。不知道为什么。

   Bundle extras = getIntent().getExtras();
    if (extras != null) {
      flag = extras.getString("Flag");
      System.out.println(flag);
      if(flag == "F"){
        do F
      }
      else{
        do C
      }
    else{
      do F + C
    }
4

3 回答 3

1

一个更清洁的方法是

boolean flag = flag.equalsIgnoreCase("f") : false : true

然后在这里使用你的标志

作为

if(flag)
{
 ....
}

或者甚至为了简单起见,只需在额外的而不是字符串中存储一个布尔值......

于 2013-10-18T04:16:34.653 回答
0

字符串是引用类型。因为这是java,你必须这样做:

if(flag.equals("F")){
do F
}
于 2013-10-18T03:04:00.850 回答
0

您的问题不在于在活动之间传递数据。==不是比较您的字符串的值,而是equals()使用==.

于 2013-10-18T03:05:58.627 回答