Perbedaan antara Aktivitas dan FragmentActivity


Jawaban:


316

A FragmentActivityadalah subkelas dari Activityyang dibuat untuk Paket Dukungan Android .

The FragmentActivitykelas menambahkan beberapa metode baru untuk memastikan kompatibilitas dengan versi Android, tapi selain itu, sebenarnya tidak ada banyak perbedaan antara keduanya. Pastikan Anda mengubah semua panggilan ke getLoaderManager()dan getFragmentManager()ke getSupportLoaderManager()dan getSupportFragmentManager()masing - masing.


4
Hai, saya tidak mengubah panggilan ke getSupportLoaderManager () dan getSupportFragmentManager () .. tapi masih berfungsi dengan baik.
Rookie

31
Itulah yang membuatnya sangat berbahaya: P. FragmentActivitymewarisi getLoaderManagerdan getFragmentManagermetode dari Activitydan sebagai hasilnya kompiler tidak akan mengeluh. Kemungkinan Anda mengimpor kelas yang salah LoaderManagerdan FragmentManagerjuga. Pastikan Anda mengimpor kelas-kelas ini dari paket dukungan ( android.support.v4.app), bukan Android SDK ( android.app).
Alex Lockwood

1
Bisakah kita mengatakan bahwa jika kita ingin menggunakan fragmen untuk versi 2.x android kita perlu menggunakan FragmentActivity nad untuk versi yang mendukung fragmen kita perlu menggunakan Activity.
Rookie

55
Saya pikir apa yang Anda katakan itu benar. Tetapi hanya untuk menjadi 100% jelas ... gunakan Activityjika Anda menggunakan android.app.Fragment; gunakan FragmentActivityjika Anda menggunakan android.support.v4.app.Fragment. Jangan pernah menempelkan a android.support.v4.app.Fragmentke android.app.Activity, karena ini akan menyebabkan eksepsi dilemparkan.
Alex Lockwood

13
Pertama-tama coba tutorial ini (cara menggunakan Fragmentsaplikasi). Kemudian, lanjutkan ke tutorial ini (cara memanfaatkan Fragments dari paket dukungan). The dokumentasi di situs pengembang bernilai membaca juga.
Alex Lockwood

4

FragmentActivityadalah bagian dari pustaka dukungan , sedangkan Activitykelas default kerangka kerja. Mereka setara secara fungsional.

Anda harus selalu menggunakan FragmentActivitydan android.support.v4.app.Fragmentbukannya standar platform Activitydan android.app.Fragmentkelas. Menggunakan platform default berarti Anda mengandalkan implementasi fragmen apa pun yang digunakan pada perangkat yang Anda jalankan. Ini sering berulang tahun, dan mengandung bug yang telah diperbaiki di perpustakaan dukungan.


1
Catatan: minSdkVersionpustaka dukungan adalah 14 sejak versi 26.xx
Eugen Pechanec
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.