1

ドキュメントが言うように:

フラグメントがほとんど破棄される状況 (UI が表示されていない状態でバック スタックに配置された場合など) は多数ありますが、所有するアクティビティが実際にその状態を保存する必要があるまで、その状態は保存されません。

ポイントは何ですか?フラグメントが破棄されたときに保存したいメンバー変数があるとします:

@Override
public void onSaveInstanceState(Bundle outState) 
{
    super.onSaveInstanceState(outState);
    outState.putLong("userId", mUserId);
    outState.putString("username", mUsername);
}

onSaveInstanceState が最終的に呼び出されると (たとえば、ホスト アクティビティが破棄されると)、これらの変数は存在しなくなるため、null ポインター例外が発生します。

これに対する解決策は何ですか?ありがとう!

4

0 に答える 0