savedInstanceState()
フラグメントを削除するときに状態を保存し、フラグメントをバックスタックからポップするときに状態を復元するために使用できますか? バックスタックからフラグメントを復元すると、savedInstanceState バンドルは常に null になります。
現在、アプリ フローは次のとおりです: フラグメントの作成 -> フラグメントの削除 (バック スタックに追加) -> バック スタックからのフラグメントの復元 (savedInstanceState バンドルは null)。
関連するコードは次のとおりです。
public void onActivityCreated(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle bundle = getArguments();
Long playlistId = bundle.getLong(Constants.PLAYLIST_ID);
int playlistItemId = bundle.getInt(Constants.PLAYLISTITEM_ID);
if (savedInstanceState == null) {
selectedVideoNumber = playlistItemId;
} else {
selectedVideoNumber = savedInstanceState.getInt("SELECTED_VIDEO");
}
}
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt(Constants.SELECTED_VIDEO, selectedVideoNumber);
}
onSavedInstanceState()
問題は、削除されてバックスタックに追加されたときに呼び出されないことだと思います。onsavedInstanceState() を使用できない場合、これを修正する別の方法はありますか?