读书人

Parcelable在Activity其间传递对象数组

发布时间: 2012-08-14 10:39:57 作者: rapoo

Parcelable在Activity之间传递对象数组

1.首先你的对象需要被Parcelable

Person.java

public class Person implements Parcelable{private String name;private String address;public Person(String name, String address){this.name = name;this.address = address;}public String getName(){return this.name;}public String getAddress(){return this.address;}/**下面实现的是对象的序列化*/public int describeContents() {return 0;}public void writeToParcel(Parcel dest, int flags){dest.writeString(name);dest.writeString(address);}public static final Parcelable.Creator<Person> CREATOR = new Creator<Person>(){public Person createFromParcel(Parcel source){Person person = new Person("","");person.name = source.readString();person.address = source.readString();return person;}public Person[] newArray(int size){return new Person[size];}};}

?

2.

传递

class BtnSeeLocationListener implements OnClickListener    {public void onClick(View v)   {Intent intent = new Intent();intent.setClass(Main.this, MapViewActivity.class);Bundle bundle = new Bundle();bundle.putParcelableArrayList(SER_KEY, personList);                        //这里不适用Bundle应该也可以,用下面的方法替代                       //intent.putParcelableArrayListExtra(SER_KEY, personList);?                       intent.putExtras(bundle);startActivity(intent);}        }

?

3.接收

?

Intent intent = getIntent();personList = (ArrayList<Person>)intent.getExtras().getSerializable(Main.SER_KEY);//接收对象
?

?

?

?

?

?

?

?

?

读书人网 >移动开发

热点推荐