數據模型:
public class Student implements Parcelable
{public int id;
public String name;
Student(Parcel in)
{
this.id = in.readInt();
this.name = in.readString();
}
public Student() {
// TODO Auto-generated constructor stub
}
public int describeContents() {
// TODO Auto-generated method stub
Log.d("aa->","describeContents");
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
Log.i("student--->","writeToParcel");
dest.writeString(name);
dest.writeInt(id);
}
public static final Parcelable.Creator<Student> CREATOR
= new Parcelable.Creator<Student>() {
public Student createFromParcel(Parcel in) {
Log.i("student====>","createFromParcel");
return new Student(in);
}
public Student[] newArray(int size) {
return new Student[size];
}
};
}
activity測試
public class TestParcelActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_parcel);
Student s = new Student();
s.id=11;
s.name = new String("Hello");
Bundle bundle = new Bundle();
bundle.putParcelable("parcel", s);
Student s1 = bundle.getParcelable("parcel");
Log.i("s1--->id", s1.id+"");
Log.i("s1--->name", s1.name);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_test_parcel, menu);
return true;
}
}