2012-08-10 109 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