我使用以下逻辑,我的活动中有两个按钮1按钮设置标志为F而另一个设置为C,下面代码中的SOP语句打印正确如果标志的值各自如果它的F打印F否则它会打印C.但是If else语句我不知道出了什么问题,在每个if else状态中我都在尝试使用setText for TextView,具体取决于条件,如果它的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
}
答案 0 :(得分:1)
更清洁的方式是
boolean flag = flag.equalsIgnoreCase("f") : false : true
然后在这里使用你的旗帜
作为
if(flag)
{
....
}
或者为了简单起见,只需在额外而不是字符串中存储布尔值......
答案 1 :(得分:0)
字符串是引用类型。由于这是java,你必须这样做:
if(flag.equals("F")){
do F
}
答案 2 :(得分:0)
您的问题不是在活动之间传递数据。
==
未与您的字符串值进行比较,请使用equals()
代替==
。