【发布时间】:2015-07-07 10:33:36
【问题描述】:
我有一个像 ObjectA 这样实现 Parcelable 的类。
public class ObjectA implements Parcelable {
private ObjectB objB;
private int mId;
}
ObjectB 来自添加到项目的 .jar 文件,我无法为该类实现 Parcelable 接口。
private ObjectA(Parcel in) {
}
@Override
public void writeToParcel(Parcel dest, int flags) {
}
所以我想知道是否有任何解决方案可以从 Parcel 读取或写入 Parcel for ObjectB?
当然dest.writeParcelable 和in.readParcelable 将不起作用,因为ObjectB 无法实现Parcelable 接口。
【问题讨论】:
-
您可以通过 getter 从 ObjectB 获取属性并将其写入 Parcel,当您从 Parcel 读取时 - 您可以创建新的 ObjectB 并通过 setter 设置它。如果您没有访问权限和任何 setter/getter,则可以使用反射。
-
您可以分享您的答案,我将其标记为已接受@Konrad。
标签: android parcelable