我实现了一个实现Serializable对象的类。
public class SaveMe implements Serializable {
private static final long serialVersionUID = 1L;
private String someValue1;
private String someValue2;
}
但是每当我尝试在Bundle中使用它时,我都会遇到这个异常:
Parcelable encounteredClassNotFoundException reading a Serializable object
at android.os.Parcel.readSerializable(Parcel.java:1951)
at android.os.Parcel.readValue(Parcel.java:1822)
at android.os.Parcel.readMapInternal(Parcel.java:2008)
at android.os.Bundle.unparcel(Bundle.java:208)
at android.os.Bundle.getString(Bundle.java:1034)
我做错了什么?
修改
嗯...使用Parcelable时的类似问题:
Class not found when unmarshalling
答案 0 :(得分:0)
我相信你可能会遇到类加载器问题。在读取序列化对象之前,需要在Bundle上调用setClassLoader()。
确保在阅读捆绑包之前致电setClassLoader(SaveMe.class.getClassLoader())
。
如果编译器在编译时找不到SaveMe,那么确保目标应用程序中缺少类Damp建议。
有关详细信息,请参阅此答案: Parcelable inside bundle which is added to Parcel