我想将Array列表从一个活动传递到另一个活动。我这样想: 我将数组列表源活动传递给目标活动。但问题是我只得到目的地活动的最后一项。
我的代码是
source.class
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
destination.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
我想将源类数组列表显示到目标类中。
答案 0 :(得分:0)
尝试使用:
Bundle.putSerializable()
和Bundle.getSerializable()
。
另外,在:
System.out.println(itr.hasNext);
不应该是its.next()
?
还要考虑到在Android IPC中使用Seralizable
对象会增加对使用Parcelable
个对象的重要意见。