1

我得到 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 吗?我是否必须放弃反序列化此类对象?

4

1 回答 1

3

这是因为ImageView您继承自是不可序列化的并且没有公共的无参数构造函数。显然它有一个受保护的或包访问或私有的。

于 2012-08-12T00:34:21.537 回答