הוספת תמיכה בסוגי יעדים חדשים

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

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

כדי להוסיף אובייקט Navigator חדש ל-NavController, משתמשים ב-method‏ getNavigatorProvider() ואז ב-method‏ addNavigator().

הקוד הבא מראה דוגמה להוספת אובייקט CustomNavigator ל-NavController:

Kotlin

val customNavigator = CustomNavigator()
navController.navigatorProvider += customNavigator

Java

CustomNavigator customNavigator = new CustomNavigator();
navController.getNavigatorProvider().addNavigator(customNavigator);

לרוב הכיתות מסוג Navigator יש תת-סוג של יעד בתצוגת עץ. אפשר להשתמש בתת-הסוג הזה כדי לציין מאפיינים נוספים ייחודיים ליעד. למידע נוסף על תת-כיתות של יעדים, אפשר לעיין במאמרי העזרה של הכיתה המתאימה של Navigator.

מקורות מידע נוספים

למידע נוסף על ניווט, תוכלו לעיין במקורות המידע הנוספים הבאים.

Codelabs

סרטונים