android中基本类型直接就可以使用bundle来传递,但是如果是对象那么就得使用其他的方式了,一般2种方法:
一.直接serializable就能通过bundle来传递,此种方式很简单,但是效率没第二种高。
二.实现Parcelable接口:
大致流程如下:
1.实现Parcelable
2.重写2个方法:
(1)
@Override public int describeContents() { return 0; } 该方法我们不用管
(2)该方法将属性写入parcel@Override public void writeToParcel(Parcel parcel, int i) {}parcel.writeString(lrr);
3.创建Parcel.Creator对象public static final Parcelable.Creator<FullRecord> CREATOR = new Parcelable.Creator<FullRecord>() { @Override public FullRecord createFromParcel(Parcel parcel) { return new FullRecord(parcel); } @Override public FullRecord[] newArray(int i) { return new FullRecord[0]; } };4.创建带(Parcel parcel)参数的构造方法public FullRecord(Parcel in) { lrr = in.readString(); }这里要注意2点:1.手动创建不带参数的构造方法,不然用fastjson进行解析时将会报错。2.writeToParcel方法与构造方法中必须一一对应