במסמך הזה נסביר איך השימוש ביעדים של תיבת דו-שיח יכול להוביל לשיקולים ייחודיים לגבי האופן שבו צריך לנהל את סטאק החזרה.
סקירה כללית
יעד אחד או יותר של תיבת דו-שיח יכולים להתקיים רק בחלק העליון של סטאק החזרה.
הסיבה לכך היא שכאשר המשתמש מנווט ליעד שאינו יעד של תיבת דו-שיח, כל היעדים של תיבות הדו-שיח מוציאים באופן אוטומטי את NavController
מהחלק העליון של הסטאק. כך מובטח שהיעד הנוכחי תמיד יהיה גלוי במלואו מעל יעדים אחרים בסטאק העורפי.
יעדים יכולים להיות יעדים מתארחים, יעדים של פעילויות או יעד של תיבת דו-שיח.
דוגמה
אם סטאק החזרה מורכב רק מיעדים מתארחים שממלאים את מארח הניווט, והמשתמש מנווט ליעד של תיבת דו-שיח, סטאק החזרה עשוי להיראות דומה לתרשים 2:

אם המשתמש מנווט ליעד אחר של תיבת דו-שיח, הוא מתווסף לחלק העליון של סטאק החזרה, כפי שמוצג באיור 3:

Dialog
יעדים בחלק העליון.אם לאחר מכן המשתמש מנווט ליעד לא צף, כל יעדי התיבת הדו-שיח יוצגו בראש מקבץ הכרטיסיות הקודמות לפני שהמשתמש מנווט ליעד החדש, כפי שמוצג באיור 4:

Dialog
נמחקים והיעד החדש מתווסף.