2013-04-27 93 views
0

我在我的應用程序中有一個非常奇怪的情況。我有一個活動,我已登錄按鈕。在button點擊我檢查用戶是否登錄,並同時顯示正確的信息。我的代碼如下所示:onClick()的奇怪情況,如果其他條件失敗

@Override 
public void onClick(View v) { 
    if (loginUserId == null || loginAccessToken == null) { 

     Intent intent = new Intent(); 
     intent.setClassName("com.example.poc", 
       "com.example.poc.LoginPromptDialog"); 
     startActivity(intent); 
    } else { 
     System.out.println("Else condition here!"); 
    } 
} 

在其他條件我打印的log

在我的情況下,假設用戶沒有登錄,則會顯示Login Prompt Activity。我在我的Second Activity上有一個skip按鈕,在那個按鈕上我只是打電話給finish()方法。我從Second Activity回到First Activity。這證實我的onResume()方法在從Second Activtiy回來時被調用。

仍然沒有用戶登錄,當我再次點擊First Activity上的按鈕時,我的其他條件被調用。爲什麼我的if條件不被調用?

我不明白爲什麼會發生這種情況。

任何形式的幫助將不勝感激。

+0

您是否嘗試重新啓動Eclipse並重建項目? – Neoh 2013-04-27 19:41:44

+1

loginUserId或loginAccessToken都不爲空。檢查它們可能被初始化的所有點,你的應用程序顯然會傳遞給它們中的一個(或幾個)。 – DigCamara 2013-04-27 19:41:47

+2

檢查您在其他地方時loginUserId和loginAccessToken的值。這應該讓你的問題。 – 2013-04-27 19:41:48

回答

0

我正在從其他活動獲得""值。感謝我得到的評論。解決了。

+0

如果你想處理兩種情況(空或空),你可以使用TextUtils.isEmpty(String)。 – 2013-04-27 20:03:44