我真的很抱歉,如果這看起來像一個微不足道的問題,但我沒有任何運氣。java:試圖添加到對象列表並獲得nullPointerException
我創建類似的自定義對象
public class Foo {
long id = 0;
int counter = 0;
String label = null;
public void setId(long in){
this.id = in;
}
public void setCounter(int in){
this.counter = in;
}
public void setLabel(String in){
this.label = in;
}
}
我然後在另一個類中創建一個列表
public class ActivityThingy extends MainActivity {
List<Foo> bar = new ArrayList<Foo>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
function();
}
private void function(){
Foo kit = new Foo();
kit.setId(1);
kit.setCounter(1);
kit.setLabel("");
bar.add(kit);
}
}
然後我嘗試在同一的另一種方法的對象添加到它類創建列表。
對象列表項正被添加到列表初始化的類中的一個方法中。該列表旨在爲該類的全局列表,以便可以重複調用該方法以基於用戶輸入將多個項目添加到列表中。
雖然每次都得到一個空指針異常。很顯然,我希望它將項目添加到列表中,而不是拋出該異常。
還有什麼可以忽略的?
我正在使用Android Studio BTW。
你可能有一個錯誤的創建順序,即你試圖在創建「bar」前添加「Foo」到「bar」。 只是一個提示..如果你想得到更好的幫助,發佈更多的代碼(最好是整個班級),因爲發佈它像你做的那樣是模糊的,並不能提供足夠的信息,說明你的問題可能發生在哪裏。 – crazyPixel 2014-09-28 00:47:52
所以我實際上是初始化類構造函數中的列表,然後在該類中的方法中調用bar.add(kit)。 爲什麼不能這樣工作? – Velogiraptor 2014-09-28 01:22:29
必須執行describeContents和writeToParcel,這些用於Parcelable的方法。因爲我運行相同的代碼,並沒有得到錯誤。 – Chitrang 2014-09-28 01:31:29