2013-06-22 49 views
0

所以我讀了一個JSON API並得到結果。基於結果我希望android執行兩個不同的事情。奇怪的如果聲明在Android與閱讀JSON

如果status = no,那麼我想要一個事件,如果status = yes,我想要另一個事件。

我的代碼是在這裏:

JSONObject json = new JSONObject(result); 

      String status = json.getString("status"); 
      Log.d("BeforeIf", status); 




      if(status == "no"){ 
       //toast logIN failed 

       Log.d("logIN-no", status); 
       String message = "Log In Failed"; 
       Toast.makeText(c, message, Toast.LENGTH_SHORT).show(); 

      } 

      else{ 
       //get userName 
       Log.d("logIN-yes", "correct"); 
       //get user ID 

       //set preferences 

       //launch normal activity 

      } 

奇怪之處是,如果我的日誌顯示狀態之前=無,但基於日誌,似乎它轉到別的...

06-21 22:24:05.822: D/BeforeIf(26889): no 
06-21 22:24:05.877: D/logIN-yes(26889): correct 

基於這個運行它不應該在if語句的其他部分...我錯過了什麼lol

+1

如果(status.equals( 「無」))http://stackoverflow.com/questions/767372/java-string-equals-versus – Emran

+0

的作品表示感謝。還有異步是有一些我不知道,因爲當我輸入一個應該是正確的響應它仍然說不,是它緩存我最後的迴應或什麼? – Mike

回答

5

您不能使用==來比較兩個字符串的內容(或該對象的任何2個對象R)。你在比較參考,而不是內容。

使用if(status.equals("no")){