onCreate()
、onCreateView()
、およびonActivityCreated()
フラグメントの違いは何ですか? また、それぞれは何に使用されますか?
3 に答える
アップデート:
onActivityCreated()
API レベル 28 から廃止されました。
onCreate():
aのonCreate()
メソッドは のFragment
後、そのActivity
onAttachFragment()
前に呼び出されFragment
ますonCreateView()
。
このメソッドでは、変数を割り当てたり、Intent
エクストラを取得したり、View 階層に関係のないこと(つまり、非グラフィカルな初期化) を行うことができます。これは、 が終了していないときにこのメソッドを呼び出すことができるためActivity
、onCreate()
ここでビュー階層にアクセスしようとするとクラッシュする可能性があるためです。
onCreateView():
onCreate()
が ( でFragment
)呼び出された後、Fragment
が呼び出さonCreateView()
れます。View
変数を割り当てて、グラフィカルな初期化を行うことができます。このメソッドからを返すことが期待されてView
おり、これがメインの UI ビューですが、Fragment
レイアウトやグラフィックを使用しない場合は、返すことができますnull
(オーバーライドしない場合、デフォルトで発生します)。
onActivityCreated():
名前が示すように、これはが完了した後に呼び出されActivity
onCreate()
ます。これは の後onCreateView()
に呼び出され、主に最終的な初期化 (UI 要素の変更など) に使用されます。これは、API レベル 28 から廃止されました。
要約すると...
...それらはすべて呼び出されますFragment
が、異なるタイミングで呼び出されます。非グラフィカルな初期化を行うために、 が最初に呼び出されます
。onCreate()
次に、 で使用する任意のView
変数を割り当てて宣言できますonCreateView()
。その後、onActivityCreated()
すべてが完了したら、必要な最終的な初期化を行うために使用します。
公式の Android ドキュメントを表示する場合は、次の場所にあります。
Stack Overflow には、わずかに異なるがあまり開発されていない質問/回答もあります。
簡潔で絵のような答えを探している人のために:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
と、