当前位置:编程学习 > wap >>

在两个Activity之间传递ArrayList对象的问题,调二天了

我想在两个Activity之间传递ArrayList对象list,该对象里有多个students对象。在网上搜有两种实现方法:一种是实现Serializable接口,一种是实现Parcelable接口。但传递多个对象只能用实现Parcelable接口这种方法。实现该接口的类我已经写好了,现在问题是数据是如何放入的,又是如何取出来的,老是出错。(声明:list不能直接放到bundle里面的)。我有搜到这种方法,但不明白接收端里的msg是怎么来的,按理说消息是不能再Activity之间传递的?求解答。。。。。。。。。总结:传递数据部分、接收数据部分应该怎样来写?? --------------------编程问答-------------------- 又要沉了,自己顶起》。。 --------------------编程问答-------------------- 试试将listarray保存在application中  这样保存和取出都比较方便 --------------------编程问答-------------------- intent可以直接传递ArrayList集合的啊 --------------------编程问答-------------------- 发送:
  Intent it = new Intent(OneActivity.this, TwoMaxActivity.class);
  it.putExtra("f", (Serializable) list);
  OneActivity.this.startActivity(it);

         接受:
        Intent it = getIntent();
list = (List<Furniture>) it.getSerializableExtra("f"); --------------------编程问答-------------------- 1、你可以把arraylist定义成静态的,往里面加东西arraylist.add(),取数据arraylist.get(想取数据的下标)。
2、两个activity之间传值,可以用intent啊,用键值对,方便、简单。。 --------------------编程问答--------------------
你贴贴出的这个例子是使用Handler发送消息来实现的,msg从而而来想必知道了

下面有个简单的实现

发送:
		/** 两个Activity之间进行List Object传输 */
Intent myIntent = new Intent();
ArrayList<Person> personList = new ArrayList<Person>();

Parcel parcel = Parcel.obtain();
Person person = Person.CREATOR.createFromParcel(parcel);
person.setId(10);
person.setName("bingbing");
personList.add(person);
parcel.recycle();

myIntent.putParcelableArrayListExtra("list", personList);
myIntent.setClass(this, SecondActivity.class);
startActivity(myIntent);


接收:
		ArrayList<Person> list = getIntent().getParcelableArrayListExtra("list");
int fistOneId = list.get(0).getId();
Log.i(TAG, "id : " + fistOneId);


--------------------编程问答--------------------
引用 4 楼 w248232729 的回复:
发送:
  Intent it = new Intent(OneActivity.this, TwoMaxActivity.class);
  it.putExtra("f", (Serializable) list);
  OneActivity.this.startActivity(it);

         接受:
        Intent it = getIntent();
list = (List<Furniture>) it.getSerializableExtra("f");


用序列有点蛋疼的。。
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,