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 に答える