【发布时间】:2014-06-03 20:31:00
【问题描述】:
我创建了一个名为 Singleton 的类,其中包含一个列表和实例
public class Singleton {
private static Singleton instance;
private List<MaterialModel> list = new ArrayList<MaterialModel>();
public Singleton(){
}
public List<MaterialModel> getList() {
return list;
}
public void setList(List<MaterialModel> list) {
this.list = list;
}
public static synchronized Singleton getInstance(){
if(instance == null){
instance = new Singleton();
}
return instance;
}
public void addElement(MaterialModel material){
this.list.add(material);
}
public MaterialModel getElement(int pos){
return this.list.get(pos);
}
public boolean foundElement(MaterialModel material){
if(this.list.contains(material)){
return true;
}
return false;
}
}
这个想法是将项目存储在列表中并在任何活动中获取它们。实际上,我试图让这个列表可以用于任何类型并且不会丢失其中的项目。
第一个活动
public class FirstActivity extends SherlockActivity{
Singleton singleton;
...
public onCreate(...){
singleton.addElement(obj)); // MaterialModel obj = new MaterialModel(.....)
第二次活动
public class SecondActivity extends SherlockActivity{
Singleton singleton;
...
public onCreate(...){
MaterialModel tmp = singleton.getElement(0)); // getElement return "obj"
问题是它不起作用,我该如何修复它或至少将列表保存在全局范围内,以便它可以在任何活动中使用?
【问题讨论】:
-
单例实例化了吗?
-
@Rod_Algonquin 我不知道...但我认为不是
标签: java android singleton instance