はdocsFragmentTransactionをコミットするのはいつ安全ですか?
フラグメントトランザクションによるだけ前にその状態を保存 活動にコミット/作成することができます。あなたは Activity.onSaveInstanceState()(前次 Activity.onStartまたはActivity.onResume(へ)後にトランザクションをコミットしようとすると、エラーが発生します。
私は、最初の部分ということを理解することができますアクティビティを復元する必要がある場合、コミット後の状態が失われる可能性があるため、Activity.onSaveInstanceState()、 の後にフラグメントトランザクションをコミットすることはできません。
しかし、私はなぜコミットできないのかわかりませんActivity.onStartまたはActivity.onResume()?Oncreate()はActivity.onStartまたはActivity.onResume()の前にも存在します。これは、oncでコミットできないことを意味しますかreate()?ここ
:
これはという扱い? savedInstanceStateバンドルがonCreate()に渡されたとき、状態はまだ復元されていませんか? onCreate()またはonRestoreInstanceStateで状態を調べることができます。 – user3591494
アクティビティが作成されたばかりなので、状態は 'onCreate()'にまだ復元されていません。たとえば、まだコンテンツビューを作成/設定していないので、保存されたビューはどこにもありません。必要ならばあなたの*アプリケーションの状態を 'onCreate()'で復元することができますが、他のすべてのコンポーネントの状態の復元が完了したわけではありません。 –
OnCreate()が完了したときにsetContentView()がまだ実行されていて、onResume()の実行が開始されるまで実行されますか? – user3591494