web-dev-qa-db-ja.com

FragmentのonCreate()とonCreateView()ライフサイクルメソッドの違いは何ですか?

onCreate()またはonCreateView()をいつ使用するかわかりません。

onCreate()およびonCreateView()ライフサイクルメソッドを使用しました。アクティビティはonCreate()、フラグメントはonCreateView()だと思います。しかし、私にはわかりません。 FragmentでonCreate() LifeCycleメソッドを使用できますか?誰かが私を助けてくれることを願っています!

28
Cabezas

onCreateは、フラグメントの最初の作成時に呼び出されます。ここで非グラフィカルな初期化を行います。レイアウトが膨らんでフラグメントが表示される前でも終了します。

onCreateViewは、フラグメントのレイアウトを拡張するために呼び出されます。つまり、通常、ここでグラフィカルな初期化が行われます。 onCreateメソッドの後で時々呼び出されます。

38
M D

アクティビティのライフサイクルの説明- http://developer.Android.com/reference/Android/app/Activity.html

フラグメントのライフサイクルの説明- http://developer.Android.com/guide/components/fragments.html#Creating

詳細なライフサイクル図- https://github.com/xxv/Android-lifecycle

3
fada21

文書から:

onCreate

アクティビティの開始時に呼び出されます。

これがほとんどの初期化の場所です。setContentView(int)を呼び出してアクティビティのUIを膨らませ、findViewById(int)を使用してプログラムでUIのウィジェットと対話し、managedQuery(Android.net.Uri、String []、String、String [ ]、String)を使用して、表示されているデータのカーソルを取得します。

この関数内からfinish()を呼び出すことができます。この場合、アクティビティのライフサイクルの残りの部分(onStart()、onResume()、onPause()など)を実行せずに、onDestroy()がすぐに呼び出されます。

派生クラスは、このメソッドのスーパークラスの実装を呼び出す必要があります。そうでない場合は、例外がスローされます。

onCreateのドキュメントへのリンク

onCreateView

フラグメントがユーザーインターフェイスビューをインスタンス化するために呼び出されます。これはオプションであり、非グラフィカルフラグメントはnullを返すことがあります(これはデフォルトの実装です)。これは、onCreate(Bundle)とonActivityCreated(Bundle)の間で呼び出されます。

ここからビューを返す場合、後でビューが解放されているときにonDestroyView()で呼び出されます。

onCreateViewのドキュメントへのリンク

0
Don Chakkappan