Pracowałem na fragmenty i natknąłem się na dwóch rzeczach Activity
i FragmentActivity
które są wykorzystywane wielokrotnie. Chcę wiedzieć, że jest jakaś różnica między tymi dwoma, bo kiedy zmienił Activity
się FragmentActivity
, to nie miało wpływu na aplikacji.
228
FragmentActivity
dziedziczygetLoaderManager
igetFragmentManager
metody zActivity
i w wyniku kompilator nie będzie narzekać. Możliwe, że importujesz również niepoprawneLoaderManager
iFragmentManager
klasy. Upewnij się, że importujesz te klasy z pakietu wsparcia (android.support.v4.app
), a nie zestawu SDK systemu Android (android.app
).Activity
jeśli używaszandroid.app.Fragment
; użyj,FragmentActivity
jeśli używaszandroid.support.v4.app.Fragment
. Nigdy nie dołączaj aandroid.support.v4.app.Fragment
doandroid.app.Activity
, ponieważ spowoduje to zgłoszenie wyjątku.Fragments
z aplikacji). Następnie przejdź do tego samouczka (jak korzystać zeFragment
s z pakietu wsparcia). Dokumentacja na stronie deweloperów jest warta czytania, jak również.FragmentActivity
jest częścią biblioteki wsparcia , podczas gdyActivity
jest domyślną klasą frameworka. Są funkcjonalnie równoważne.Zawsze powinieneś używać
FragmentActivity
iandroid.support.v4.app.Fragment
zamiast domyślnych ustawień platformyActivity
iandroid.app.Fragment
klas. Korzystanie z domyślnych ustawień platformy oznacza, że polegasz na jakiejkolwiek implementacji fragmentów użytej w urządzeniu, na którym pracujesz. Często mają one wiele lat i zawierają błędy, które zostały naprawione w bibliotece wsparcia.źródło
minSdkVersion
biblioteki wsparcia jest 14 od wersji 26.xx