有没有办法通过捆绑包将ArrayList <ArrayList<Integer>> floors传递给另一个活动?
谢谢
发布于 2013-03-11 00:45:29
有没有办法通过捆绑包把一个ArrayList > floors传递给另一个活动?
不幸的是不是。
如果你想使用不嵌套的ArrayList,它可以与putIntegerArrayList(key, value)和getIntegerArrayList(key)一起工作。
但肯定有另一种方法(Es).I将以一种可能的方式向您解释。
您可以创建实现Serializable接口的类,在该类中只需创建字段和适当的getter即可。我会给你一些基本的例子。然后,您将通过活动传递Serializable。
public class DataHelper implements Serializable {
private ArrayList<ArrayList<Integer>> floors;
public DataHelper(ArrayList<ArrayList<Integer>> floors) {
this.floors = floors;
}
public ArrayList<ArrayList<Integer>> getList() {
return this.floors;
}
}将其保存到Bundle:
Bundle b = new Bundle();
b.putSerializable("floors", new DataHelper(floors));并在目标活动中检索:
getIntent().getExtras().getSerializable("floors");发布于 2013-03-11 00:53:52
将数组列表从第一个活动传递到第二个活动。
Intent intent = new Intent(context, SecondActity.class);
intent.putIntegerArrayListExtra("arraylist",integerList); //integerList is ArrayList<Integer>
startActivity(intent);在第二个活动中获取arrayList。
ArrayList arrayList<Integer> = getIntent().getIntegerArrayListExtra("arraylist")阅读here。
如果您想在活动之间传递自定义对象,请阅读此thread。
https://stackoverflow.com/questions/15324741
复制相似问题