2012-08-10 107 views
1

我得到android.widget.ImageView; IllegalAccessException尝试反序列化我以前序列对象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?我是否必须放弃对这样的对象进行反序列化?

回答

3

这是因为ImageView你继承是不可序列没有一个公共的无参数的构造函数。显然它有一个保护或包访问或私人之一。

+0

有没有办法解决这个问题? @EJP – Odin 2014-02-23 10:14:31

+0

@Chris号继承somethign别的。 – EJP 2014-05-28 08:14:07