0

我想将数组列表从一个活动传递到另一个活动。我正在尝试这样:我将数组列表源活动传递给目标活动。但问题是我在目的地活动中只得到最后一项。

我的代码是

源类

HashMap<String,String> hm = new HashMap<String, String>();
ArrayList<HashMap<String,String>> arl = new ArrayList<HashMap<String,String>>();
hm.put(KEY_NAME,u);//am adding these values through loop
arl.add(hm);//adding Hash Map to Array List

Intent intent = new Intent(MainActivity.this, SinglePlaceActivity.class);
intent.putExtra("arraylist", arl

startActivityForResult(intent, 500);
System.out.println("uuuuu"+arl);//upto now working good and display perfectly all array list 

目的地.class

ArrayList<HashMap<String, String>> arl = ArrayList<Hash 
Map<String,String>>)getIntent().getSerializableExtra("arraylist");
System.out.println(arl);//am getting what i add last item in the Arrylist at source class 

 Iterator itr = arl.iterator(); 
    while(itr.hasNext())
                      {
    System.out.println(itr.hasNext);//am getting  single last item multiple times.what i add last item in the Arrylist at source class

我想将源类数组列表显示到目标类中。

4

1 回答 1

0

尝试使用: Bundle.putSerializable()Bundle.getSerializable()

此外,在:

System.out.println(itr.hasNext);

不应该its.next()吗?

还要考虑到Seralizable在 Android IPC 中使用对象增加了关于使用对象的重大偷听Parcelable

于 2013-07-19T19:04:46.497 回答