フラグメントにおける onCreate()、onCreateView()、onActivityCreated() の違いと用途 質問する

フラグメントにおける onCreate()、onCreateView()、onActivityCreated() の違いと用途 質問する

onCreate()フラグメント内の、、onCreateView()およびの違いは何ですか?onActivityCreated()また、それぞれどのような目的で使用されますか?

ベストアンサー1

アップデート:

onActivityCreated()API レベル 28 からは非推奨になりました。


onCreate():

onCreate()のメソッドは、後、の前に呼び出されますFragment。このメソッドでは、変数を割り当てたり、追加情報を取得したり、View 階層に関係しないその他の操作 (つまり、非グラフィカルな初期化) を実行できます。これは、 が完了していないときにこのメソッドを呼び出すことができるため、ここで View 階層にアクセスしようとするとクラッシュする可能性があるためです。ActivityonAttachFragment()FragmentonCreateView()
IntentActivityonCreate()

onCreateView():

が呼び出された後onCreate()( 内Fragment)、Fragmentの がonCreateView()呼び出されます。View変数を割り当て、グラフィカルな初期化を行うことができます。 このメソッドから を返すことが期待されておりView、これがメインの UI ビューですが、 がFragmentレイアウトやグラフィックスを使用していない場合は を返すことができますnull(オーバーライドしない場合はデフォルトで発生します)。

アクティビティ作成時():

名前が示すように、これは完了した後に呼び出されますActivityonCreate()。これは の後に呼び出されonCreateView()、主に最終的な初期化(UI 要素の変更など)に使用されます。これはAPI レベル 28 から非推奨になりました。


まとめると...
... これらはすべて で呼び出されますFragmentが、呼び出されるタイミングは異なります。
onCreate()、非グラフィカルな初期化を行うために最初に呼び出されます。次に、Viewで使用する変数を割り当てて宣言できますonCreateView()。その後、onActivityCreated()すべてが完了したら、 を使用して最終的な初期化を行います。


公式の Android ドキュメントをご覧になりたい場合は、こちらからご覧いただけます:

Stack Overflow には、少し異なるものの、あまり発展していない質問/回答もいくつかあります。

おすすめ記事