Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questo documento illustra come l'utilizzo delle destinazioni di dialogo possa introdurre considerazioni uniche su come è necessario gestire il back stack.
Panoramica
Una o più destinazioni delle finestre di dialogo possono esistere solo nella parte superiore dello stack posteriore.
Questo perché, quando l'utente accede a una destinazione che non è quella delle finestre di dialogo, l'elemento NavController sposta automaticamente tutte le destinazioni delle finestre di dialogo fuori dall'elenco filtri. Ciò garantisce che la destinazione corrente sia sempre completamente visibile
su altre destinazioni nello stack back.
Se il back stack è costituito esclusivamente da destinazioni ospitate
che riempiono l'host di navigazione e l'utente accede a una destinazione della finestra di dialogo,
lo stack di back potrebbe essere simile alla figura 2:
Figura 2. Uno stack posteriore con una destinazione della finestra di dialogo in alto.
Se l'utente passa a un'altra destinazione della finestra di dialogo, questa viene aggiunta alla parte superiore dello stack posteriore, come mostrato nella figura 3:
Figura 3. Una pila posteriore con due destinazioni Dialog
sopra.
Se l'utente accede a una destinazione non floating, le destinazioni delle finestre di dialogo vengono prima estratte dalla parte superiore dello stack posteriore prima di passare alla nuova destinazione, come mostrato nella Figura 4:
Figura 4. Le destinazioni Dialog
vengono visualizzate automaticamente e la nuova destinazione viene aggiunta.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# Dialog destinations\n\nThis document outlines how the use of [dialog destinations](/guide/navigation/design) can introduce\nunique considerations for how you need to manage your back stack.\n\nOverview\n--------\n\nOne or more dialog destinations can only exist on the top of the back stack.\nThis is because when the user navigates to a destination that is not a dialog\ndestination, the `NavController` automatically pops all dialog destinations off\nthe top of the stack. This ensures that the current destination is always fully\nvisible over other destinations on the back stack.\n\nDestinations can be either [hosted destinations](/guide/navigation/design), [activity\ndestinations](/guide/navigation/design/activity-destinations), or [dialog destination](/guide/navigation/design/dialog-destinations).\n| **Note:** Dialog destinations implement the [`FloatingWindow`](/reference/androidx/navigation/FloatingWindow) interface. As such, they overlay other destinations on the back stack.\n\nExample\n-------\n\nIf the back stack consists solely of [hosted destinations](/guide/navigation/design)\nthat fill the navigation host, and the user navigates to a dialog destination,\nthen the back stack might look similar to figure 2:\n**Figure 2.** A back stack with a dialog destination on top.\n\nIf the user then navigates to another dialog destination, it is then added to\nthe top of the back stack, as shown in figure 3:\n**Figure 3.** A back stack with two `Dialog` destinations on top.\n\nIf the user then navigates to a non-floating destination, any dialog\ndestinations are first popped from the top of the back stack before navigating\nto the new destination, as shown in figure 4:\n**Figure 4.** The `Dialog` destinations are popped, and the new destination is added."]]