เพิ่มการรองรับปลายทางประเภทใหม่

ประเภท 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 ที่เหมาะสม

แหล่งข้อมูลเพิ่มเติม

ดูข้อมูลเพิ่มเติมเกี่ยวกับการนําทางได้ที่แหล่งข้อมูลเพิ่มเติมต่อไปนี้

Codelabs

วิดีโอ