【发布时间】:2013-03-19 09:01:38
【问题描述】:
我序列化了一个扩展 LinearLayout 的类,如下面的代码 sn-p 所示。在反序列化时,我遇到了上述异常。在this 链接中,序列化 ImageView 是不可能的(对于所有其他视图,我猜也是)。那么,是否有任何替代方案,或者我必须使用 SQLite 数据库本身?建议或线索表示赞赏。
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 - 好问题...在这里,MyClass 本身就是我的视图,其中包含一些其他自定义属性以及视图默认属性。它还包含其他视图,如 EditText、TextViews 等
-
en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller 在 MVC 上查看此链接,这是构建应用程序的好方法。如果您遵循这种模式,您将永远不需要序列化视图。
-
@Egor - 感谢 d 链接。
标签: java android serialization deserialization