我知道有类似的话题,但我们没有帮助我处理我的情况。
我有一个包含内部序列化非静态类的类。 当我按下设备“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()中的代码有关?我在上层阶级做了一些操作。