Apa perbedaan antara onCreate()
,, onCreateView()
dan onActivityCreated()
dalam fragmen dan untuk apa mereka masing-masing akan digunakan?
Apa perbedaan antara onCreate()
,, onCreateView()
dan onActivityCreated()
dalam fragmen dan untuk apa mereka masing-masing akan digunakan?
Jawaban:
onCreate ():
The onCreate()
Metode dalam Fragment
yang disebut setelah Activity
'sonAttachFragment()
tapi sebelum itu Fragment
' s onCreateView()
.
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 ketika Activity
's onCreate()
belum selesai, dan mencoba untuk mengakses View hirarki sini dapat mengakibatkan kecelakaan.
onCreateView ():
Setelah onCreate()
disebut (dalam Fragment
), Fragment
's onCreateView()
disebut. Anda dapat menetapkan View
variabel Anda dan melakukan inisialisasi grafis apa pun . Anda diharapkan untuk mengembalikan a View
dari metode ini, dan ini adalah tampilan UI utama, tetapi jika Anda Fragment
tidak menggunakan tata letak atau grafik, Anda dapat kembali null
(terjadi secara default jika Anda tidak menimpa).
onActivityCreated ():
Sebagai nama negara, ini disebut setelah Activity
's onCreate()
telah menyelesaikan . Disebut setelah onCreateView()
, 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 mendeklarasikan View
variabel apa pun yang ingin Anda gunakan onCreateView()
. Setelah itu, gunakan onActivityCreated()
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:
onCreateView
.
Bagi siapa pun yang mencari jawaban singkat dan bergambar:
https://hanaskuliah.wordpress.com/2015/12/07/android-5-development-part-6-fragment/
Dan,
onActivityCreated()
sekarang tidak digunakan lagi sebagai Versi Fragmen 1.3.0-alpha02
Metode onActivityCreated () sekarang tidak digunakan lagi. Kode yang menyentuh tampilan fragmen harus dilakukan di onViewCreated () (yang dipanggil segera sebelum onActivityCreated ()) dan kode inisialisasi lainnya harus dalam onCreate (). Untuk menerima panggilan balik secara khusus ketika aktivitas onCreate () selesai, LifeCycleObserver harus didaftarkan pada Siklus Hidup aktivitas di onAttach (), dan dihapus setelah panggilan balik onCreate () diterima.
Informasi terperinci dapat ditemukan di sini