Dialogfeldziele

In diesem Dokument wird beschrieben, wie die Verwendung von Dialogzielen spezielle Überlegungen zur Verwaltung des Back-Stacks enthalten kann.

Übersicht

Mindestens ein Dialogfeldziel darf nur oben auf dem Back-Stack vorhanden sein. Das liegt daran, dass NavController automatisch alle Dialogfeldziele aus dem Stack entfernt, wenn der Nutzer ein Ziel aufruft, das kein Dialogziel ist. Dadurch wird sichergestellt, dass das aktuelle Ziel immer vollständig vor anderen Zielen auf dem Back Stack sichtbar ist.

Ziele können entweder gehostete Ziele, Aktivitätsziele oder Dialogfelder sein.

Beispiel

Wenn der Back-Stack ausschließlich aus gehosteten Zielen besteht, die den Navigationshost ausfüllen, und der Nutzer zu einem Dialogziel navigiert, könnte der Back-Stack in Abbildung 2 aussehen:

ein Back Stack mit einem Dialogfeldziel im oberen Bereich
Abbildung 2: Ein Back-Stack mit einem Dialogfeldziel im oberen Bereich.

Wenn der Nutzer dann zu einem anderen Dialogziel navigiert, wird es oben im Back-Stack platziert, wie in Abbildung 3 dargestellt:

ein Back Stack mit zwei Dialogfeldzielen im oberen Bereich
Abbildung 3: Ein Back-Stack mit zwei Dialog-Zielen im oberen Bereich

Wenn der Nutzer dann zu einem nicht schwebenden Ziel navigiert, werden zuerst alle Dialogziele vom oberen Rand des Back Stacks entfernt, bevor das neue Ziel aufgerufen wird (siehe Abbildung 4):

Die Ziele des Dialogfelds werden per Pop-up angezeigt und das neue Ziel wird hinzugefügt.
Abbildung 4: Die Dialog-Ziele werden per Pop-up abgerufen und das neue Ziel wird hinzugefügt.