我是Android Studio的新手,因此需要所有人的帮助。
我有一个想法,我想制作1个ArrayList <>,并将这个Array用于其他Activity,但我不知道如何制作。
例如MainActivity,我称这个数组。 SecondActivity,我也称这个数组。在这种情况下,我不需要为每个活动都创建相同的ArrayList。
有可能这样做吗?请帮助
Example(); //I want to insert this to the other Activity instead of private void...
test.setOnClick...
private void Example(){
arrayList = new ArrayList<>();
arrayList.add(...)
答案 0 :(得分:3)
这个问题可能是重复的,但是由于您是新参与者,并且按照堆栈溢出策略,我正在告诉您!
有多种方法可以相应地使用它们。
1-将列表设为静态,并在类引用为MainActivity.list;
2-以intent.putExtra("en", list);
的名义传递您的意图
但请确保您在模型中将Serializable实现为
public class EN implements Serializable {
//Your Model Getter setters
}
答案 1 :(得分:1)
您可以使用Singleton模式在您的Activity之间共享变量。
public class AppData {
private List list;
private static AppData instance;
private AppData(){};
public List getList() {return this.list;}
public void setList(List list) {this.list = list;}
public static AppData getInstance() {
if (instance == null) {
instance = new AppData();
}
return instance;
}
}
//Call this in your activity
List list = AppData.getInstace().getList();
答案 2 :(得分:0)
您可以从中使用:
在第一个活动中(例如MyActivity):
public static ArrayList<String> myList=new ArrayList();
其他活动
MyActivity.myList.add("dddd");
MyActivity.myList.get(0);