我真的很抱歉,如果这看起来像一个微不足道的问题,但我没有任何运气。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