包含抽象类实例的内部类:获取“Parcelable遇到IOException编写可序列化对象”

时间:2013-01-30 13:11:19

标签: android serialization

我知道有类似的话题,但我们没有帮助我处理我的情况。

我有一个包含内部序列化非静态类的类。 当我按下设备“home”键(应用程序转到后台)时发生崩溃

这是我的代码

public class pageParam implements Serializable {

    private static final long serialVersionUID = 7793437011565026799L;

    public OnCloseListener onCloseListener;
    public long userId;
    public boolean hasName;
    public int age;

    public pageParam(OnCloseListener onCloseListener, long userId,
            boolean userId, int age) {
        this.onCloseListener = onCloseListener;
        this.userId = userId;
        this.hasName = hasName;
        this.age = age;
    }
}

public abstract class OnCloseListener implements Serializable {

            private static final long serialVersionUID = -143252315312L;

    public abstract void onCloseListener();
}

请注意OnCloseListener是抽象的,我可以在OnCloseListener的实现中添加serialVersionUID(无论有没有,它都会失败)

编辑:

这是OnCloseListener()的实现:

OnCloseListener OnCloseListener = new OnCloseListener() {

    /**
     * 
     */
    private static final long serialVersionUID = -8848214522109319925L;

    @Override
    public void OnCloseListener() {
        ......
 }
}

如您所见,它还有串行密钥。

编辑2:

即使我将OnCloseListener更改为常规类(非抽象),我仍然遇到此异常错误。

公共类OnCloseListener实现Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 2718040340149001112L;

    public void OnClose() {
        ......
   } 
}

也许它与OnClose()中的代码有关?我在上层阶级做了一些操作。

0 个答案:

没有答案