フラグメント内の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()
しかしその前にFragment
のonCreateView()
。 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には、少し異なりますが、あまり開発されていない質問/回答がいくつかあります。
-
onCreate()
vsonCreateView()
onCreate()
vsonCreateView()
-
onCreateView()
vsonActivityCreated()
onCreateView()
vsonActivityCreated()
#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/
そして、 と、