如何将ArrayList <hashmap <string,string =“”>&gt;从一个活动传递到另一个活动</hashmap <string,>

时间:2011-06-15 09:40:57

标签: android

如何将Array List从一个Activity传递到另一个Activity我的数组列表如下所示

ArrayList<HashMap<String, String>>

4 个答案:

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

我的想法是,你可以为包上的这个数据集定义一个全局静态变量,并在跳转到另一个活动之前先保存它。