Check-fragment ist dargestellt in framelayout oder nicht in android?
Hallo Freunde ich habe zwei framelayout in movies.xml nämlich container, detail_screen.Im container hinzufügen movies.xml die listview enthält ,und in detail_screen haben expandable listview aufgerufen movie_details.xml.Nun möchten Sie überprüfen, programmgesteuert in detail_screen ist bereits fragment präsentiert oder nicht.wenn Ihnen nur wollen, entfernen Sie das fragment.Ich Tat Folgendes und seine Arbeitsmethoden in Ordnung.
if (getSupportFragmentManager().findFragmentByTag("MyFragment") != null) {
getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentByTag("MyFragment")).commit();
}
aber es ist eine andere Art und Weise zu finden, ob fragment dargestellt wird, oder nicht in frame-layout in android durch ein Programm .Vielen Dank im Voraus
Ohne Verwendung findFragmentByTag()/Id
Sie möchten wissen, ob ein fragment vorhanden ist, ohne einen Bezug zu ihm oder zu seinem container? Es ist
ich wünschte, um zu überprüfen, ob bereits fragment präsentiert sich in mein framelayout nur entfernen möchten, fragment hinzufügen neue fragment sonst gleichen fragment Hinzugefügt werden, die mehr als einmal Recht
auch wenn Sie
replace() nicht passen in deinem Fall?
Sie möchten wissen, ob ein fragment vorhanden ist, ohne einen Bezug zu ihm oder zu seinem container? Es ist
getSupportFragmentManager().getFragments()
das ruft eine Liste der Fragmente für die manager.ich wünschte, um zu überprüfen, ob bereits fragment präsentiert sich in mein framelayout nur entfernen möchten, fragment hinzufügen neue fragment sonst gleichen fragment Hinzugefügt werden, die mehr als einmal Recht
auch wenn Sie
getSupportFragmentManager().beginTransaction().replace()
es ersetzen oder hinzufügen - Sie müssen nicht sorgen zu machen über das entfernen eines vorhandenen fragmentsreplace() nicht passen in deinem Fall?
InformationsquelleAutor Sugan S | 2013-08-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gründete ich die Lösung wie folgt aus.ich.e vor dem hinzufügen alle Fragmente zu details_screen nur prüfen, wenn schon-fragment präsentiert wird, dann wird es knallen und dann wird das neue fragment.
hoffe, es wird funktionieren.
InformationsquelleAutor Sugan S
Du haben Verwendung
findFragmentByTag()
oderfindFragmentById()
Methoden, um es zu finden. Wenn die zurückgegebene Instanz nicht null ist, dann das fragment ist vorhanden. Zusätzlich können Sie mitFragment.isInLayout()
Methode, um zu überprüfen, ob das fragment wurde definiert im layout mit<fragment>
tag oder programmgesteuert Hinzugefügt.InformationsquelleAutor sergej shafarenka