我正在实现具有另一个 Parcelable insde 的 Parcelable 类。
在 OuterParcelable 类中:
@Override
public void writeToParcel(Parcel dest, int flags) {
Bundle tmp = new Bundle();
tmp.putParcelable("innerParcelable", mParcelable);
dest.writeBundle(tmp);
接着:
public OuterParcelable(Parcel parcel) {
super();
Bundle b = parcel.readBundle();
mParcelable = b.getParcelable("innerParcelable");
和:
public OuterParcelable createFromParcel(Parcel in) {
return new OuterParcelable(in);
}
当我使用上面的代码重新创建对象时,我得到:
08-18 17:13:08.566: ERROR/AndroidRuntime(15520): Caused by: android.os.BadParcelableException: ClassNotFoundException when unmarshalling: my.package.InnerParcelable