2013-10-18 85 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) 
{ 
.... 
} 

甚至爲了簡單起見,只存儲一個布爾值在額外的,而不是一個字符串。 ..

相關問題