יעדים לתיבות דו-שיח

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

סקירה כללית

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

יעדים יכולים להיות יעדים מתארחים, יעדים של פעילויות או יעד של תיבת דו-שיח.

דוגמה

אם סטאק החזרה מורכב רק מיעדים מתארחים שממלאים את מארח הניווט, והמשתמש מנווט ליעד של תיבת דו-שיח, סטאק החזרה עשוי להיראות דומה לתרשים 2:

סטאק חזרה עם יעד של תיבת דו-שיח בחלק העליון
איור 2. סטאק חזרה עם יעד של תיבת דו-שיח בחלק העליון.

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

סטאק חזרה עם שני יעדים של תיבת דו-שיח בחלק העליון
איור 3. סטאק 'הקודם' עם שני Dialog יעדים בחלק העליון.

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

היעדים של תיבת הדו-שיח יוצגו ויוצג היעד החדש.
איור 4. היעדים Dialog נמחקים והיעד החדש מתווסף.