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);//接收对象