状況アクティビティは非同期操作で待機し、非同期操作からの応答を聞いた後、その中の2つのフラグメントに情報を渡す必要があります。
要件 1.両方のフラグメントは、レイアウトをロードするためにonCreateView
呼び出しを行う必要があります。2. getActivity()
動作します。
両方のフラグメントにsetData()
メソッドを作成し、それらを呼び出すためのアクティビティのライフサイクルの「正しい」場所を探しています。
アクティビティのonCreate()
は機能せず、アクティビティのonStart()
は機能せず、フラグメントのonStart()
は機能しません。
何も動作しません、ここで何が欠けていますか?
フラグメントライフサイクル の公式ドキュメントはこれを明確に説明しています-それを参照して、不明な点がある場合はフォローアップの質問をしてください。
この画像は、両方のライフサイクルを一緒に理解するのに役立ちます。
多くの人々が苦情を述べており、このライフサイクルが複雑すぎることはやや妥当な議論であるため、Google I/O 2018では、Architectureコンポーネントフレームワークの使用を提案しています。これを確認してください Docs
onAttachFragment()-activityは、onCreate()-activityの前とonAttach()-fragmentの後に呼び出されます
Activity2---->backpress--->Fragment2(Activity1)
にいるときは、_Activity1
_を再び_fragment2
_からアタッチするので、_OnAactivityCreated()
メソッド_Activity1
_は完全にロードされます....そのため、Activity1のsetData()
メソッドを呼び出すことができます...