0

Android アプリの onSaveInstanceState メソッドに問題があります。RemindersDbAdapter と ImageAdapter という 2 つの SQL データベースを接続しました。

その結果、私は主な活動でこれに行き着きました:

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()、最も可能性が高いのは または のいずれ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);
}
于 2012-05-31T09:33:25.890 に答える
0

提供されたスタックトレースを支援する方が簡単でしょう:)

それが問題かどうかはわかりませんが、ロングを置いsuper.onSaveInstanceState(outState); た後にコールしてみてください。

于 2012-05-31T09:07:00.783 に答える