הדף הזה מסביר שיטות מומלצות לאינטראקציה עם מפת הניווט ב: באפליקציה שלך.
כשהדבר אפשרי, כדאי להשתמש ב-SupportNavigationFragment
במקום ב-NavigationView
SupportNavigationFragment
הוא wrapper לנוחות הטיפול
NavigationView
קריאות חוזרות (callback) במחזור החיים, לכן אין צורך לנהל אותן
מבצעים קריאה חוזרת בעצמם. השיטה הזו פחות מועדת לשגיאות והדרך המועדפת
להשתמש בניווט באפליקציה. כשמשתמשים במאפיין SupportNavigationFragment
, חשוב לוודא
כדי להפעיל NavigationView
אירועים במחזור החיים.
אם משתמשים ב-NavigationView
, צריך להשתמש בסדר קפדני בזמן ההפעלה של שיטות מחזור החיים
NavigationView
מארח את מפת הניווט ועוקב מקרוב אחרי מחזור החיים
אירועים כמו פעילויות ומקטעים של Android, ביצוע פעולות ספציפיות כאשר
הם מופעלים על ידי אירועים במחזור החיים. NavigationView
מבצע כמה פעולות אתחול ב-NavigationView#onCreate
וב-NavigationView#onStart
, פעולות ניקוי ב-NavigationView#onStop
וב-NavigationView#onDestroy
, וגם כשמתבצע עיבוד של אירועים אחרים במחזור החיים.
ל-NavigationView
יש את אותן שיטות מחזור חיים כמו ל-activities או ל-fragments ב-Android. לדוגמה, onCreate()
מתוך NavigationView
בערך
מתורגמת ל- וצריכה להיות מופעלת על ידי קריאות חוזרות (callback) של מחזור החיים מ-Android
פעילות או מקטע. הקריאות החוזרות של מחזור החיים של NavigationView
מבוססות על הקריאות החוזרות של מחזור החיים של Android, ומופעלות באותו סדר, ולכן נדרש סדר קפדני של השיטות האלה של NavigationView. אחרת, ייתכן
לחוות את הזיכרון
הדלפות, ממשק משתמש
שגיאות, מיקום לא מתעדכן ובעיות אחרות.
לקבלת מידע נוסף על מחזור החיים של פעילות ב-Android, אפשר להיכנס אל מושגים בנושא מחזור החיים של פעילות בתיעוד למפתחים של Android.
בטבלה הבאה אפשר לראות מתי צריך להפעיל שיטות אחרות של מחזור החיים, לאחר שיטות ספציפיות למחזור החיים:
השיטה של מחזור החיים | בוצעה הפעלה במיקום במחזור החיים של הפעילות | מופעלת אחרי ה-method של מחזור החיים |
---|---|---|
onConfigurationChanged()
|
הפונקציה מופעלת כשממשק המשתמש נמצא בחזית וההגדרה משתנה. | תמיד אחרי onStart()
|
onTrimMemory()
|
הקריאה מתבצעת כשפעילות מתבצעת ברקע. | תמיד אחרי onPause()
|
onSaveInstance()
|
הקריאה מתבצעת לפני שהפעילות נהרסת. | תמיד אחרי onStop()
|
לא לקרוא לשיטות מחזור החיים האלה כמה פעמים בלי לקרוא
שיטת הסגירה המתאימה ראשונה. בנוסף, חשוב לזכור שאם חלק מהקריאות החוזרות ל-Android במהלך מחזור החיים מנוהלות על ידי האפליקציה עצמה, וה-NavigationView
מתווסף ל-fragment אחרי היצירה או ההתחלה, האפליקציה צריכה לבצע את הקריאה לעצמה לשיטות הספציפיות בסדר הנכון כדי לאתחל את Navigation SDK בצורה נכונה.
הנחיות נוספות לשימוש בשיטות האלה מפורטות באפליקציית הדגמה של Navigation SDK.
אם משתמשים ב-NavigationView
, צריך להפעיל אירועים של מחזור החיים מהפעילות או מהמקטע, אבל לא משניהם
כדי לשמור על הסדר המחמיר של שיטות מחזור החיים, צריך להפעיל את האירועים האלה מהקריאות החוזרות (callbacks) של מחזור החיים של הפעילות או של הפלח, שמקבלות את האירועים האלה לפי הסדר. הגישה הזו מבטיחה שאפליקציות לא יצטרכו לתאם בין קטעים לבין פעילויות ולגרום לקריאות כפולות.