2013-07-03 22 views
0

我有一個問題,並一直堅持到它。我不知道如何解決它和爲什麼它實際上發生。其實,我有一個靜態列表定義和初始化在某些類「實用工具」。我開始(安卓)應用,即第一個活動接着前進到第二個活動,並檢查顯示java.lang.NullPointerException在靜態list.isEmpty()操作

它運行正常
if(Utilities.myList.isEmpty()) { 

    // load data from server 
} else { 

    // skip 
} 

第一次。沒有例外,沒有瑕疵。然後我按後退按鈕(轉到第一個活動再次)

@Override 
public void onBackPressed(){ 
    finish() ; 
    super.onBackPressed() ; 
} 

然後再回來到第二活性及其對如果條件即「Utilities.myList這裏顯示java.lang.NullPointerException變得異常。的isEmpty()」和

Utilities.myList給我 「空」 值

公用事業類中的名單

public static List<BranchInfo> myList= new ArrayList<BranchInfo>() ; 
+0

你初始化列表?哪裏?給我們看一看。 –

+0

if()何時/何時被調用? – Ridcully

+0

燁公共靜態列表 myList中=新的ArrayList ();正如我所解釋的,它第一次運行,但第二次出現異常 –

回答

0

您必須分配內存在您的活動中,你正在使用它的onCreate方法列出。 在您的Utility類中創建一個方法,並在您使用Utilities.myList的Activity的onCreate中調用它。

+0

好的。但爲什麼它第一次運行 –

+0

答案是在你的Utility類中,要麼你沒有在你的活動生命週期中管理列表,要麼你以錯誤的方式初始化它。也發佈你的實用程序類。 –

相關問題