我序列化了一個擴展LinearLayout的類,如下面的代碼片段所示。在反序列化的同時,我得到了上述的例外。如在this鏈接中,序列化ImageView是不可能的(對於所有其他視圖,我也猜測)。那麼,有沒有其他的選擇,或者我必須去SQLite數據庫本身?建議或線索表示讚賞。反序列化時InvalidClassException和IllegalAccessException
public class MyClass extends LinearLayout implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private String mThemeImageName;
private ArrayList<STCharacter> mCharacterList;
private String mStoryText;
private int mSceneNumber;
private boolean mIsSceneHasCharacters;
public STScene(Context context) {
super(context);
}
public STScene(Context context, AttributeSet attrs) {
super(context, attrs);
}
//getters and setters below
首先,你爲什麼需要序列化LinearLayout? – Egor 2013-03-19 09:06:17
@Egor - 很好的問題...在這裏,MyClass本身就是我的視圖,它包含一些其他自定義屬性以及視圖默認屬性。它還包含其他視圖,如EditText,TextViews等 – Braj 2013-03-19 09:15:22
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller 檢查此鏈接的MVC,這是一個很好的方法來構造你的申請。如果你遵循這種模式,你永遠不需要序列化視圖。 – Egor 2013-03-19 11:18:41