【发布时间】:2018-01-04 20:43:03
【问题描述】:
例如
需要实现 Parcelable 的类 City 具有实现 Serializable 的 Location 类型字段。类 Location 是从第三方 jar 文件导入的,我无法修改它。如何使用 Location 字段为 City 类成功实现 Parcelable?
【问题讨论】:
标签: android serialization parcelable serializable
例如
需要实现 Parcelable 的类 City 具有实现 Serializable 的 Location 类型字段。类 Location 是从第三方 jar 文件导入的,我无法修改它。如何使用 Location 字段为 City 类成功实现 Parcelable?
【问题讨论】:
标签: android serialization parcelable serializable
只需使用Parcel.writeSerializable() 和Parcel.readSerializable()
public class MyParcelableObject implements Parcelable {
public static final Parcelable.Creator<MyParcelableObject> CREATOR =
new Parcelable.Creator<MyParcelableObject>() {
@Override
public MyParcelableObject createFromParcel(Parcel in) {
return new MyParcelableObject(in);
}
@Override
public MyParcelableObject[] newArray(int size) {
return new MyParcelableObject[size];
}
};
private final MySerializableObject mySerializableField;
private MyParcelableObject(Parcel in) {
this.mySerializableField = (MySerializableObject) in.readSerializable();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeSerializable(mySerializableField);
}
@Override
public int describeContents() {
return 0;
}
}
【讨论】: