0

我知道有与我类似的主题,但没有一个可以帮助我处理我的情况。

我有一个类,其中包含一个内部序列化的非静态类。当我按下设备的“主页”键时发生崩溃(并且应用程序将进入后台)

这是我的代码

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() 中的代码有关?我在那里对上层阶级进行了一些操作。

4

0 回答 0