Ang*_*3lo 1 android bundle arraylist
有没有办法ArrayList <ArrayList<Integer>> floors通过Bundle 传递给另一个活动?
谢谢
有没有办法通过Bundle将ArrayList> floor传递给另一个活动?
不幸的是没有.
如果你ArrayList没有嵌套它将使用putIntegerArrayList(key, value)和getIntegerArrayList(key).
但肯定有另一种方法.我会用一种可能的方式向你解释.
您可以创建将实现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;
}
}
Run Code Online (Sandbox Code Playgroud)
保存到Bundle:
Bundle b = new Bundle();
b.putSerializable("floors", new DataHelper(floors));
Run Code Online (Sandbox Code Playgroud)
并在目标活动中检索:
getIntent().getExtras().getSerializable("floors");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13611 次 |
| 最近记录: |