2012-08-28 14 views
11

Grundsätzlich Dialoge inaktiviert die Aktivität im Hintergrund. So macht das DialogFragment das gleiche mit erhöhter Komplexität. Also warum sollte man für DialogFragment gehen, obwohl verschiedene Unterklassen von Dialog verfügbar sind.Warum DialogFragment verwenden?

Antwort

6

Fragments mit in Ihrer Tätigkeit verwendet werden, aber ein Fragment als Dialog (Fenster) zu präsentieren mit FragmentTransaction und followup mit Lebenszyklus des Fragments, müssen Sie Verwenden Sie DialogFragment. Sie können jedoch auch einfach Dialog verwenden, aber dann hat es nichts mit dem Lebenszyklus des Fragments zu tun.

Wie pro Google Text:

DialogFragment A kann gegebenenfalls noch als normale Fragment verwendet werden, falls gewünscht . Dies ist nützlich, wenn Sie ein Fragment haben, das in einigen Fällen als ein Dialogfeld angezeigt werden soll und andere in eine größere Benutzeroberfläche eingebettet werden.

1

wenn u ein dynamisches Layout in Ihrem Android-App-Fragment bereits hat, dann müssen u es in Ihrem Dialog aus einer Aktionstaste klicken oder anderem Klick mit/verwenden, so dass diese Zeit dialogFragment ist bequemer, dann die normale Dialog.

1

FragmentDialog ist ein Fragment, das sein kann:

  1. als Fragment verwendet werden, zB:

    FragmentTransaction trans = getSupportFragmentManager().beginTransaction(); 
    trans.add(R.id.navigation_fragment, mFriendFragment); 
    trans.commit(); 
    
  2. als Dialog verwendet, zum Beispiel:

    FragmentManager fm = getFragmentManager(); 
    UnsubscribeTabletFragment fragment = new UnsubscribeTabletFragment(); 
    fragment.show(fm, "dialog"); 
    

So wenn du ein Fragment hast und das Fragment etwas mal funktioniert als fragment, manchmal als dialog, dann solltest du diesen verwenden.