如何将Array List从一个Activity传递到另一个Activity我的数组列表如下所示
ArrayList<HashMap<String, String>>
答案 0 :(得分:42)
使用putExtra(String, Serializable)
传递Intent和getSerializableExtra(String)
方法中的值以检索数据。
将ArrayList<HashMap<String, String>>
从活动A传递到活动B
Intent intent = new Intent(this, B.class);
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("sunil", "sahoo");
ArrayList<HashMap<String, String>> arl = new ArrayList<HashMap<String, String>>();
arl.add(hm);
intent.putExtra("arraylist", arl);
startActivityForResult(intent, 500);
检索活动B中的数据
ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) getIntent().getSerializableExtra("arraylist");
System.out.println("...serialized data.."+arl);
答案 1 :(得分:4)
您可以使用Bundle将元素从一个Activity传递到另一个Activity。
检查出来:http://developer.android.com/reference/android/os/Bundle.html
您创建Bundle,将其放入Intent,然后在新活动中,获取它并提取所需的元素。
它是这样的:
Bundle b = new Bundle();
String s = "hello";
b.putString("example", s);
intent.putExtras(b);
然后是新活动:
Bundle b = this.getIntent().getExtras();
String s = b.getString("example");
答案 2 :(得分:1)
这是另一种技术, 我使用以下行来在firstClass中定义ArrayList。
static ArrayList al=new ArrayList();
在第二个活动中,我使用以下行从firstClass获取ArrayList的数据,
firstClass.al.size();
答案 3 :(得分:0)
我的想法是,你可以为包上的这个数据集定义一个全局静态变量,并在跳转到另一个活动之前先保存它。