2012-09-12 4 views
7

In der Dokumentation für android.support.v4.app.FragmentManager.getSupportFragmentManager() im Vergleich zu getFragmentManager() in Android 3.0+

„Static Bibliothek Unterstützung Version des FragmentManager des Rahmen verwendete Anwendungen zu schreiben, die auf Plattformen vor Android 3.0 Bei der Ausführung unter Android 3.0 oder höher wird diese Implementierung weiterhin verwendet, es wird nicht versucht, zur Implementierung des Frameworks zu wechseln. Eine Klassenübersicht finden Sie in der Framework-SDK-Dokumentation. "

Muss ich also zur Laufzeit einen Check durchführen und den entsprechenden FragmentManager für die Android-Version verwenden, auf der die App läuft? d. h. Aufruf von getFragmentManager() wenn auf Android 3.0+ anstelle von getSupportFragmentManager()

Antwort

12

Es ist nichts falsch mit der Verwendung von getSupportFragmentManager() auf Android 3.0+, solange Sie die Support-Bibliothek importiert haben. Wenn Sie getFragmentManager() für SDKs 11+ verwenden möchten, gehen Sie dafür; Denken Sie daran, dass Sie möglicherweise if/else viel Code mit Versionsüberprüfungen.

+0

irgendwelche Ideen, was der Unterschied zwischen diesen beiden Managern sind? Vorteile Nachteile? – user1159819

+0

Die Support-Bibliothek wurde entwickelt, um die Funktionalität exakt zu emulieren. Es gibt ein paar kleine Unterschiede auf halbem Wege [die Support-Bibliothek-Dokumente] (http://developer.android.com/tools/extras/support-library.html). – Eric

+0

getSupportFragmentManager() arbeitete für mich Zielversion 15 vielen Dank .. –

5

Wenn Sie API> = 14 verwenden, verwenden Sie getFragmentManager(). Wenn Sie mit Geräten unter API 14 kompatibel sein möchten, können Sie getSupportFragmentManager() verwenden. Daher wird getSupportFragmentManager() verwendet, um neuere Funktionen für ältere Plattformen bereitzustellen.

0

Wenn Sie Unterstützungspakete in Ihrem Projekt oder Ihrer App verwenden, müssen Sie getSupportFragmentManager verwenden, da Sie auf diese Weise den FragmentManager für die Interaktion mit Fragmenten zurückgeben, die dieser Aktivität zugeordnet sind. Auf der anderen Seite, wenn Sie nicht sind, können Sie getFragmentManager verwenden. Es hängt nur davon ab, was Sie in Ihrer App verwenden.

Verwandte Themen