Android - Parcelable 类中的上下文

标签 android parcelable

我在实现 Parcelable 的类中有以下内容:

private static final long serialVersionUID = 66;
private HashMap<Integer, Bitmap> mBitmaps;
private HashMap<Integer, Drawable> mDrawables;
private Context mContext;

和:

@Override
public void writeToParcel(Parcel dest, int flags) {
    // TODO Auto-generated method stub
    dest.writeValue(mBitmaps);
    dest.writeValue(mDrawables);
    dest.writeValue(mContext);
    dest.writeByte((byte) (mActive ? 0x01 : 0x00));

}

我得到错误:

java.lang.RuntimeException: Parcel: unable to marshal value android.app.Application@4051cfe0
at android.os.Parcel.writeValue(Parcel.java:1132)
at com.example.example.ImageManager.writeToParcel(ImageManager.java:82)


dest.writeValue(mContext); is on line 82.

最佳答案

如本回答所述:https://stackoverflow.com/a/6112919/7721253

您正在尝试向包裹中添加不可序列化的对象。您正在序列化的对象中的对象也必须是可序列化的。

关于Android - Parcelable 类中的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23005431/

相关文章:

java - Android 中可打包数组类的问题

java - 日期到时间戳

java - Java中如何解析这一行信息呢?

Android Kotlin : putParcelableArrayList(ArrayList<int>) and getParcelableArrayList<Int>() wont work

android - 在 Android 中使用 Serializable 不好吗?

Android:如何将 Path 对象放入 Bundle 中?

android - 如何在android中制作自定义搜索栏?

java - 我有 5 个字符串,有些正在动态变化,但有些不能

android - Html.fromHTML 去除双空格

android - 为什么Android要使用parcel在组件之间传递数据?