フラグメント内のonCreate()、onCreateView()、およびonActivityCreated()の違いと使用法



Difference Usage Oncreate



この記事の翻訳元: フラグメントでのonCreate()、onCreateView()、およびonActivityCreated()の違いと使用法

スニペット内onCreate()onCreateView() with onActivityCreated()の違いは何ですか?それらは何のために使用されますか?




#1階

参照: https://stackoom.com/question/1XnV3/フラグメント内のonCreate-onCreateView-とonActivityCreated-の違いと使用法


#2階

onCreate(): OnCreate():



onCreate() Fragmentのメソッドです Activityの後に呼び出されますのonAttachFragment() しかしその前にFragmentonCreateView() Fragment of onCreate()メソッド Activity of onAttachFragment() しかし、Fragment of onCreateView()転送
このメソッドでは、変数を割り当てて、Intentを取得できます。エクストラ、および ビュー階層を含まないその他のもの (つまり、非グラフィックの初期化)。 このメソッドでは、get Intentに変数を割り当てることができます。エクストラと ビュー階層には他に何も関係していません (つまり、非グラフィック初期化)。 これは、Activityのときにこのメソッドを呼び出すことができるためです。のonCreate()は終了していないため、ここでビュー階層にアクセスしようとするとクラッシュする可能性があります。 これは、when Activity of onCreate()このメソッドは、終了していないときに呼び出すことができるため、ビュー階層にアクセスしようとするとクラッシュする可能性があるためです。

onCreateView(): onCreateView():

onCreate()の後(Fragmentで)、Fragmentと呼ばれますのonCreateView()と呼ばれます。 呼び出しonCreate()(at Fragment)の後、転送Fragment of onCreateView() Viewを割り当てることができます変数と グラフィックの初期化を行う 割り当てることができますView変数と グラフィックの初期化を実行します Viewを返すことが期待されていますこのメソッドから、これがメインのUIビューですが、Fragmentの場合レイアウトやグラフィックを使用しない場合は、nullを返すことができます。 (オーバーライドしない場合、デフォルトで発生します)。 a Viewを返す必要があります、これはメインのUIビューですが、Fragmentレイアウトやグラフィックを使用しない場合は、戻ることができますnull (デフォルトでは、上書きしない場合)。



onActivityCreated(): onActivityCreated():

名前が示すように、これは Activityの後に呼び出されますのonCreate()完了しました 名前が示すように、これは in Activity of onCreate()完了後に呼び出されます onCreateView()の後に呼び出されます、および主に最終的な初期化(UI要素の変更など)に使用されます。 これはat onCreateView()後で呼び出され、主に最終的な初期化に使用されます(たとえば、UI要素を変更するため)。


総括する... 結論として...
...それらはすべてFragmentで呼び出されますしかし、異なる時間に呼び出されます。 ...それらはすべて呼び出されますFragmentしかし、異なる時間に呼び出されました。
onCreate()グラフィック以外の初期化を行うために、最初に呼び出されます。 最初の呼び出しonCreate()グラフィック以外の初期化を実行します。 次に、任意のViewを割り当てて宣言できますonCreateView()で使用する変数。 次に、onCreateView()任意のView変数を割り当てて宣言できます。 その後、onActivityCreated()を使用しますすべてが完了したら、実行したい最終的な初期化を実行します。 次に、onActivityCreated()すべてが完了した後に実行される最終的な初期化を使用します。


Androidの公式ドキュメントを表示する場合は、次の場所にあります。 Androidの公式ドキュメントを確認したい場合は、次の場所にあります。
- onCreate() - onCreate()
- onCreateView() - onCreateView()
- onActivityCreated() - onActivityCreated()

Stack Overflowには、少し異なりますが、あまり開発されていない質問/回答もいくつかあります。 Stack Overflowには、少し異なりますが、あまり開発されていない質問/回答がいくつかあります。


#3階

簡潔で絵画的な答えを探している人のために: 簡潔な写真の答えを探している人のために:

画像 https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/ https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/


そして、 と、

画像