Apa perbedaan antara onCreate()
,, onCreateView()
dan onActivityCreated()
dalam fragmen dan untuk apa mereka masing-masing akan digunakan?
android
android-fragments
android-lifecycle
oncreate
fragment-lifecycle
Farbod Salamat-Zadeh
sumber
sumber
Jawaban:
onCreate ():
The
onCreate()
Metode dalamFragment
yang disebut setelahActivity
'sonAttachFragment()
tapi sebelum ituFragment
' sonCreateView()
.Dalam metode ini, Anda dapat menetapkan variabel, mendapatkan
Intent
tambahan, dan hal lain yang tidak melibatkan hierarki tampilan (yaitu inisialisasi non-grafis). Hal ini karena metode ini bisa disebut ketikaActivity
'sonCreate()
belum selesai, dan mencoba untuk mengakses View hirarki sini dapat mengakibatkan kecelakaan.onCreateView ():
Setelah
onCreate()
disebut (dalamFragment
),Fragment
'sonCreateView()
disebut. Anda dapat menetapkanView
variabel Anda dan melakukan inisialisasi grafis apa pun . Anda diharapkan untuk mengembalikan aView
dari metode ini, dan ini adalah tampilan UI utama, tetapi jika AndaFragment
tidak menggunakan tata letak atau grafik, Anda dapat kembalinull
(terjadi secara default jika Anda tidak menimpa).onActivityCreated ():
Sebagai nama negara, ini disebut setelah
Activity
'sonCreate()
telah menyelesaikan . Disebut setelahonCreateView()
, dan terutama digunakan untuk inisialisasi akhir (misalnya, memodifikasi elemen UI).Singkatnya ...
... mereka semua dipanggil
Fragment
tetapi dipanggil pada waktu yang berbeda.The
onCreate()
disebut pertama, untuk melakukan apapun initialisations non-grafis. Selanjutnya, Anda dapat menetapkan dan mendeklarasikanView
variabel apa pun yang ingin Anda gunakanonCreateView()
. Setelah itu, gunakanonActivityCreated()
untuk melakukan inisialisasi akhir yang ingin Anda lakukan setelah semuanya selesai.Jika Anda ingin melihat dokumentasi Android resmi, dapat ditemukan di sini:
- - -
onCreate()
onCreateView()
onActivityCreated()
Ada juga beberapa pertanyaan / jawaban yang sedikit berbeda, tetapi kurang berkembang di Stack Overflow:
onCreate()
vs.onCreateView()
onCreateView()
vs.onActivityCreated()
sumber
onCreateView
.Bagi siapa pun yang mencari jawaban singkat dan bergambar:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
Dan,
sumber
onActivityCreated () - Sudah usang
onActivityCreated()
sekarang tidak digunakan lagi sebagai Versi Fragmen 1.3.0-alpha02Informasi terperinci dapat ditemukan di sini
sumber