如何在Android中的onSaveInstanceState方法中有两个outState语句?

时间:2012-05-31 08:09:22

标签: android sql error-handling

我的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);
}

问题是这段代码崩溃了。有人能给我一个提示来解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

提供堆栈跟踪会更容易:)

不知道这是否重要,但在之后尝试拨打super.onSaveInstanceState(outState);

答案 1 :(得分:0)

如果您确定问题出在onSaveInstanceState(),那么mRowIdmImageRowId很可能是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);
}