0

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

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

4

2 回答 2

0

如果您确定问题出在onSaveInstanceState(),那么很可能是mRowId或:mImageRowIdnull

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);
}
于 2012-05-31T09:33:25.890 回答
0

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

不知道这是否重要,但在你做多super.onSaveInstanceState(outState); 之后尝试打电话。

于 2012-05-31T09:07:00.783 回答