Differenza tra attività e frammentoAttività


Risposte:


316

A FragmentActivityè una sottoclasse Activitycreata per il pacchetto di supporto Android .

La FragmentActivityclasse aggiunge un paio di nuovi metodi per garantire la compatibilità con le versioni precedenti di Android, ma a parte questo, non c'è davvero molta differenza tra i due. Assicurati di modificare tutte le chiamate verso getLoaderManager()e getFragmentManager()verso getSupportLoaderManager()e getSupportFragmentManager()rispettivamente.


4
Ehi, non ho cambiato le chiamate in getSupportLoaderManager () e getSupportFragmentManager () .. ma funziona ancora bene.
Rookie

31
Questo è ciò che lo rende così pericoloso: P. FragmentActivityeredita i metodi getLoaderManagere getFragmentManagerda Activitye di conseguenza il compilatore non si lamenterà. Le probabilità sono che si sta importando le errate LoaderManagere FragmentManagerclassi troppo. Assicurati di importare queste classi dal pacchetto di supporto ( android.support.v4.app), non da Android SDK ( android.app).
Alex Lockwood,

1
Possiamo dire che se vogliamo usare i frammenti per la versione di Android 2.x dobbiamo usare FragmentActivity nad per la versione che supporta i frammenti che dobbiamo usare Activity.
Rookie

55
Penso che quello che stai dicendo sia corretto. Ma solo per essere chiari al 100% ... usa Activityse stai usando android.app.Fragment; utilizzare FragmentActivityse si sta utilizzando android.support.v4.app.Fragment. Non collegare mai android.support.v4.app.Fragmenta a android.app.Activity, poiché ciò genererà un'eccezione.
Alex Lockwood,

13
Prima prova questo tutorial (come usare Fragmentsin un'applicazione). Quindi, continua con questo tutorial (come utilizzare i messaggi di posta Fragmentelettronica dal pacchetto di supporto). La documentazione sul sito sviluppatori è la pena di leggere pure.
Alex Lockwood,

4

FragmentActivityfa parte della libreria di supporto , mentre Activityè la classe predefinita del framework. Sono funzionalmente equivalenti.

È necessario utilizzare sempre FragmentActivitye android.support.v4.app.Fragmentanziché le impostazioni predefinite della piattaforma Activitye le android.app.Fragmentclassi. L'uso delle impostazioni predefinite della piattaforma significa che si sta facendo affidamento su qualsiasi implementazione dei frammenti utilizzata nel dispositivo su cui si sta eseguendo. Spesso hanno più di un anno e contengono bug che sono stati corretti nella libreria di supporto.


1
Nota: la minSdkVersionlibreria di supporto è 14 dalla versione 26.xx
Eugen Pechanec,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.