我的Android应用程序中的onSaveInstanceState方法有问题。我有两个连接的SQL数据库,RemindersDbAdapter和ImageAdapter。
因此,我在主要活动中结束了这一点:
private Long mRowId;
private Long mImageRowId;
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putLong(RemindersDbAdapter.KEY_ROWID, mRowId);
outState.putLong(ImageAdapter.KEY_ROWID, mImageRowId);
}
问题是这段代码崩溃了。有人能给我一个提示来解决这个问题吗?
答案 0 :(得分:0)
提供堆栈跟踪会更容易:)
不知道这是否重要,但在之后尝试拨打super.onSaveInstanceState(outState);
。
答案 1 :(得分:0)
如果您确定问题出在onSaveInstanceState()
,那么mRowId
或mImageRowId
很可能是null
:
private static final Long DEF_ROW_ID = 0L;
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putLong(RemindersDbAdapter.KEY_ROWID, mRowId != null ? mRowId : DEF_ROW_ID);
outState.putLong(ImageAdapter.KEY_ROWID, mImageRowId != null ? mImageRowId : DEF_ROW_ID);
}