Was ist der Unterschied zwischen Fragment und FragmentActivity?
Meine Frage ist, abgesehen von den offensichtlichen Vererbung Unterschiede, was sind die wichtigsten Unterschiede zwischen Fragment
und FragmentActivity
? Auf welche Szenarien sind in jeder Klasse am besten geeignet? Ich versuche zu verstehen, warum diese beiden Klassen existieren...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen
Fragment
ist ein Abschnitt einerActivity
, die hat:Activity
ausgeführt wird.Einen
Fragment
muss immer eingebettet sein in einActivity
.Fragments
sind nicht Teil der API vor HoneyComb (3.0). Wenn Sie verwenden möchtenFragments
in einer app-targeting-Plattform vor version HoneyComb, müssen Sie den Support-Paket zu Ihrem Projekt und verwenden Sie dieFragmentActivity
zu halten IhreFragments
. DieFragmentActivity
Klasse hat eine API für den Umgang mitFragments
, in der Erwägung, dass dieActivity
Klasse, vor der Waben nicht.Wenn Ihr Projekt zielt auf HoneyComb oder höher nur, die Sie verwenden sollten
Activity
und nichtFragmentActivity
zu halten IhreFragments
.Einige details:
Verwenden
android.app.Fragment
mitActivity
. Verwendenandroid.support.v4.app.Fragment
mitFragmentActivity
. Fügen Sie nicht die support-package -Fragment
zu einemActivity
wie wird es führen, dass eine Ausnahme geworfen werden.Eine Sache, vorsichtig zu sein mit:
FragmentManager
undLoaderManager
haben separate Versionen für FragmentActivity:Wenn Sie eine
Fragment
in einemActivity
(HoneyComb und höher) rufen SiegetFragmentManager()
zu bekommenandroid.app.FragmentManager
getLoaderManager()
zu bekommenandroid.app.LoaderManager
wenn Sie eine
Fragment
imFragmentActivity
(pre-HoneyComb), Ruf:getSupportFragmentManager()
zu bekommenandroid.support.v4.app.FragmentManager
.getSupportLoaderManager()
zu bekommenandroid.support.v4.app.LoaderManager
so, nicht tun
oder
Auch nützlich zu wissen ist, dass, während ein fragment muss eingebettet werden in eine
Activity
es nicht Teil derActivity
layout. Es kann verwendet werden, als eine unsichtbare Arbeiter für die Tätigkeit, mit der keine Benutzeroberfläche, der eigenen.FragmentActivity ist unser Klassiker Activity mit fragment-Unterstützung, nichts mehr. Daher FragmentActivity benötigt wird, wenn ein Fragment wird an Aktivität.
Gut-Fragment ist eine gute Komponente, kopieren Sie die grundlegenden Verhaltensweisen der Tätigkeit, noch nicht ein stand-alone-Anwendung wie Komponente Aktivität und muss befestigt werden-Aktivitäten, um zu arbeiten.
Aussehen hier für mehr details
Denken FragmentActivity als eine regelmäßige Aktivität der Klasse, die unterstützen können Fragmente. Vor der Wabe, eine Aktivität, die Klasse konnte nicht supoprt-Fragmente direkt, also dies ist notwendig, Aktivitäten, die Fragmente verwenden.
Wenn Ihr Ziel-Verteilung ist Honeycomb und darüber hinaus erweitern zu können, aus der Aktivität statt.
Auch ein fragment ist als eine 'sub-activity". Es kann nicht existieren, ohne eine Tätigkeit. Immer daran denken, ein fragment, als eine sub-Aktivität und Sie sollten gut sein. So ist die Aktivität würde die Eltern und die fragment(E) des Kindes Art der symbolischen Beziehung.
einer FragmentActivity ist eine ad-hoc-Aktivität enthält, Fragment.
In diesen wenigen Worten habe ich erklärt Ihnen eine der wichtigsten änderungen, die mit android 3.0(HoneyComb), android-team eingefügt hat in das android-sdk.
Mit dieser neuen Art von Konzept, Ihre Stücke von code und layout wird flexibler und wartbarer. Wenn Sie bei google suchen es gibt eine Menge von Beispielen.