Entfernen Sie alle Bruchstücke aus dem container
ist es ein Weg, um entfernen Sie alle Fragmente, die bereits Hinzugefügt wurden, die spezifische Ansicht mit Blick auf id?
Ich zum Beispiel entfernen möchten alle Fragmente, die Hinzugefügt wird R. id.fragmentcontainer anzeigen.
Dank,
Möglich, Duplikat der Fragments: Entfernen Sie alle Fragmente in einer Ansicht
InformationsquelleAutor Ali Gürelli | 2015-10-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist ganz einfach, einfach eine Schleife durch alle Stücke, und entfernen Sie es
Aber im Falle von Navigation Schublade sicher sein, zu überprüfen, wenn Sie versuchen, Sie zu entfernen, erhalten Sie Fehler.
Letzter, aber sehr wichtig werden Sie sicher auf null prüfen, bevor Sie eine fragment-Transaktionen
NavigationDrawerFragment
? Es wird nützlich sein, aber ich denke, es ist von einigen Bibliothek.NavigationDrawerFragment ist einfach ein fragment Hinzugefügt, wie die nav-Schublade. Es ist nicht von einer anderen Bibliothek.
Ich Stand vor einer situation, wo ein FragmentTransaction
add
schafft ein normales fragment, währendreplace
macht hoch Symbolleiste über es (an Lollipop, mit navigation drawer). Vielleicht hast du Recht, es wäre gut, erstellen Sie ein dummy-fragment undadd
andere. Haben Sie das getan?ja ich bevorzuge immer das hinzufügen von fragment als navigation drawer, es gibt mehr Kontrolle über design und änderungen
Vorsicht, dies wird entfernen Sie ALLE - Fragmente in dem angegebenen fragment-manager. Nicht nur in einem bestimmten layout-container als OP gefragt wurde
InformationsquelleAutor Sumit Saxena
Können Sie versuchen, folgenden code
*frag ist das Objekt des fragments, das Sie entfernen möchten.
wird es zu entfernen das fragment, das loded in "your_container" - container.
HapPy coding.
Das ist nur für auf den Sie verweisen, können Sie ersetzen Sie mit Ihren ids.
Dies ist ein falscher Ansatz. Die Frage ist nicht, wie, entfernen Sie ein fragment, aber wie entfernen Sie alle.
seine arbeiten mit: FragmentManager fragmentManager = MainActivity.Aktivität.getSupportFragmentManager(); for(int i = 0; i < fragmentManager.getBackStackEntryCount() ; i++){ //entfernen fragment mit Bezeichner }
Danke für die Klärung. @user1632209 aktualisieren sollten, die Antwort auf dein Kommentar, das wäre nützlich für die Menschen in der Zukunft.
InformationsquelleAutor Rhn Bhadani
Es ist in der Tat sehr einfach.
InformationsquelleAutor Jaap-Jan Hellinga
Speichern Sie alle Ihre Fragmente in einer ArrayList.
Initialisieren:
Hinzufügen von fragment-Liste:
Wenn Sie entfernen möchten alle Ihnen, tun Sie den folgenden:
Ich habe diese Methode in der Produktion seit Jahren, und es funktioniert wie ein Charme. Lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben.
InformationsquelleAutor Vingtoft
Versuchen, diese, hoffe, es hilft 😀
InformationsquelleAutor Gian_DC