Wie kann ich Fragmente aus dem Backstack knacken, ohne sie wieder aufzunehmen? Ich möchte nur aus dem Backstack entfernen, ich möchte es nicht anzeigen.
Es ist architektonische Frage.
1) Angenommen, wir haben 2 Controller (Fragmente / Aktivitäten): Controller A und Controller B. Beide sind mit einer Instanz eines Modells verbunden (Sie können die Bindung mit dem Service, das Singleton-Muster oder das Init-Modell in der Klasse "Application-herr" verwenden und dazu beitragen, dass Sie es verstehen). Wenn in Controller B etwas Interessantes passiert, benachrichtigt er das Modell darüber und dann ruft das Modell controllerA.finish () / controllerA.remove () auf. Natürlich versuche ich immer, diese Lösung so gut wie möglich zu implementieren, aber es gibt eine Hauptidee.
2) In einem anderen Fall rufe ich finish () unmittelbar nach startActivity (intent);
auf3) Außerdem kann ich schreiben: startActivityForResult (intent, requestCode) und nach dem Beenden der zweiten Aktivität wird die Methode onActivityResult (requestCode, responseCode, intent) aufgerufen - wenn requestCode gleich sind, beende ich die Aktivität.
Wenn Sie die Methode von FragmentTransaction
public abstract FragmentTransaction addToBackStack (String name)
nicht verwenden, um sie zum Backstack hinzuzufügen. Es wird nicht notwendig sein, es zu entfernen.
Tags und Links android android-fragments