Wie kann ich ein DialogFragment mit dem Kompatibilitätspaket anzeigen?

7

Ich habe versucht, DialogFragment auf 3.0-Geräten zu verwenden, das Fragment oder DialogFragment nicht nach SDK-Ebene unterstützt.

Also entschied ich mich, die Android-Kompatibilitätsbibliothek zu verwenden, die Fragment unterstützt.
Dann habe ich eine DialogFragment-Klasse erstellt, die android.support.v4.app.DialogFragment erweitert.

Aber ... Als ich versuchte, mein DialogFragment mit DialogFragment.show () anzuzeigen, habe ich diese Show (FragmentManager, String) als erstes Argument als android.app.FragmentManager akzeptiert android.support.v4.app.FragmentManager .

Ich denke, android.app.FragmentManager kann nicht in Android 3.0-Geräten verwendet werden, da es nicht im SDK enthalten ist.

Gibt es eine Möglichkeit, DialogFragment mit der Kompatibilitätsbibliothek anzuzeigen? Muss ich My DialogFragment auf andere Weise mit der Kompatibilitätsbibliothek anzeigen?

Jede Hilfe wird sehr geschätzt. :)

    
kunny 19.07.2011, 12:16
quelle

2 Antworten

15

Das Kompatibilitätspaket ist für diejenigen gedacht, die auf Android-Versionen vor 3.0 entwickeln.

Sowohl der FragmentManager als auch der DialogFragment Klassen existieren in API Level 11 (3.0)

In jedem Fragment oder jeder Aktivität können Sie Folgendes tun, um einen kleinen (leeren) Dialog in der Mitte des Bildschirms anzuzeigen:

%Vor%     
David Snabel-Caunt 19.07.2011 12:43
quelle
10

FragmentManager und DialogFragment existiert in der Kompatibilitätsliste für sdk Version 4 und höher, stellen Sie sicher, dass Sie diese importieren.

Benutzer getSupportFragmentManager() , um Ihre FragmentManager für die Kompatibilitätsliste zu erhalten.

Zeigen Sie den Dialog wie in DialogFragment documentation beschrieben und übergeben Sie die Kompatibilitätsversion von 'FragmentManager'.

Beachten Sie, dass Sie die DialogFragment auch als Fragment behandeln und sie mit add(...) oder replace(...) als Teil einer Transaktion anzeigen können, dh Sie sind nicht darauf beschränkt, nur show(...)

    
PJL 19.07.2011 12:57
quelle