IllegalAccessException - 继承自非可序列化的对象的序列化

时间:2012-08-10 19:52:50

标签: android serialization deserialization

我得到android.widget.ImageView;尝试反序列化以前序列化的对象时出现IllegalAccessException

        File presetFile = new File("pathToFile");

        FileInputStream fis = new FileInputStream(presetFile);      
        ObjectInputStream ois = new ObjectInputStream(fis);
        Preset preset = (Preset) ois.readObject();

我猜测ImageView有一些限制,解释如下:

public class Preset implements Serializable {

    private Date dateOfCreation;
    private int bpm;
    private SoundSwitch[][] switches;

最后是SoundSwitch类标题

public class SoundSwitch extends ImageView implements Serializable{
}

是因为我继承的ImageView没有实现Serializable吗?我是否必须放弃反序列化此类对象?

1 个答案:

答案 0 :(得分:3)

这是因为您继承的ImageView是非Serializable ,而没有公共的no-args构造函数。显然它有受保护或包访问或私有访问。