2013-10-18 55 views
0

我正在使用以下逻辑,在我的活动中有两个按钮1按钮将标志设置为F,另一个设置为C,下面代码中的SOP语句将打印正确的标志每个如果它的F它打印F否则它打印C.但If else语句我不知道什么错误,在每个if else状态中,我尝试setText为TextView取决于条件,如果它的F或C但每次C被称为。不知道为什么。将数据从1活动传递到另一个

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

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

+1

傻我: ... –

0

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

if(flag.equals("F")){ 
do F 
} 
1

更清洁的方法是

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

然后用这里

您的标志作为

if(flag) 
{ 
.... 
} 

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

相关问题