ประเภท NavController อาศัยออบเจ็กต์ Navigator อย่างน้อย 1 รายการเพื่อดำเนินการนําทาง โดยค่าเริ่มต้น NavController รองรับการออกจากกราฟการนําทางโดยไปยังกิจกรรมอื่นโดยใช้คลาส ActivityNavigator และคลาส ActivityNavigator.Destination ที่ฝังอยู่
หากต้องการไปยังปลายทางประเภทอื่นๆ คุณต้องเพิ่มNavigator
ออบเจ็กต์อย่างน้อย 1 รายการลงในNavController ตัวอย่างเช่น เมื่อใช้ข้อมูลโค้ดเป็นปลายทาง NavHostFragment จะเพิ่มคลาส FragmentNavigator ลงใน NavController โดยอัตโนมัติ
หากต้องการเพิ่มออบเจ็กต์ Navigator ใหม่ลงใน NavController ให้ใช้เมธอด getNavigatorProvider() ตามด้วยเมธอด addNavigator()
โค้ดต่อไปนี้แสดงตัวอย่างการเพิ่มออบเจ็กต์ CustomNavigator ลงใน NavController
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
คลาส Navigator ส่วนใหญ่มีคลาสย่อยปลายทางที่ฝังอยู่ คลาสย่อยนี้ใช้เพื่อระบุแอตทริบิวต์เพิ่มเติมที่เฉพาะเจาะจงสำหรับปลายทางได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับคลาสย่อยปลายทางได้ที่เอกสารอ้างอิงสำหรับคลาส Navigator ที่เหมาะสม
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับการนําทางได้ที่แหล่งข้อมูลเพิ่มเติมต่อไปนี้