如何使数组列表用于其他活动

时间:2018-10-14 08:19:35

标签: android arraylist

我是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(...)

3 个答案:

答案 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);