ตัวควบคุมการนําทางเป็นหนึ่งในแนวคิดหลักในการนําทาง ทั้งนี้ ถือกราฟการนำทางแล้วแสดงวิธีการที่ทำให้แอปเคลื่อนไหว ระหว่างปลายทางในกราฟ
เมื่อใช้คอมโพเนนต์การนำทาง คุณจะสร้างตัวควบคุมการนำทาง
โดยใช้ชั้นเรียน NavController
NavController
เป็นส่วนกลาง
API การนำทาง ติดตามปลายทางที่ผู้ใช้เคยไป และ
ให้ผู้ใช้ย้ายไปมาระหว่างจุดหมาย คู่มือนี้จะสาธิตวิธีสร้าง
NavController
ในแอปของคุณ
สำหรับข้อมูลเกี่ยวกับวิธีเพิ่มกราฟการนำทางในNavController
โปรดดู
ออกแบบกราฟการนำทาง NavController
มีวิธีที่หลากหลาย
เพื่อนำทางไปยังจุดหมายในกราฟ สำหรับข้อมูลเพิ่มเติม โปรดดู ไปยัง
ปลายทาง
เขียน
หากต้องการสร้าง NavController
เมื่อใช้ Jetpack Compose โปรดโทรหา
rememberNavController()
:
val navController = rememberNavController()
คุณควรสร้าง NavController
ระดับสูงในลำดับชั้นที่ประกอบกันได้ ทั้งนี้
ต้องสูงพอที่ Composable ทั้งหมดที่จำเป็นต้องใช้อ้างอิง
แบบนั้น
ซึ่งจะช่วยให้คุณใช้ NavController
เป็นแหล่งข้อมูลที่เชื่อถือได้เพียงแหล่งเดียว
อัปเดต Composable นอกหน้าจอ ซึ่งเป็นไปตามหลักการของ
การย้ายสถานะ
ยอดดู
หากคุณกำลังใช้เฟรมเวิร์ก UI ของมุมมอง คุณสามารถเรียก NavController ของคุณ โดยใช้วิธีการใดวิธีการหนึ่งต่อไปนี้ ขึ้นอยู่กับบริบท
Kotlin:
Java:
NavHostFragment.findNavController(Fragment)
Navigation.findNavController(Activity, @IdRes int viewId)
Navigation.findNavController(View)
โดยทั่วไปแล้ว คุณจะได้รับ NavHostFragment
ก่อน จากนั้นจะดึง
NavController
จากส่วนย่อย ข้อมูลโค้ดต่อไปนี้แสดงให้เห็นสิ่งต่อไปนี้
Kotlin
val navHostFragment =
supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
Java
NavHostFragment navHostFragment =
(NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.nav_host_fragment);
NavController navController = navHostFragment.getNavController();
อ่านเพิ่มเติม
- ออกแบบกราฟการนำทาง: คู่มือที่มีรายละเอียดเกี่ยวกับวิธีเพิ่มกราฟ
ไปยัง
NavController
ที่มีปลายทางทั้งหมดในแอปของคุณ - ไปยังปลายทาง: คำแนะนำที่มีรายละเอียดเกี่ยวกับวิธีใช้
NavController
เพื่อย้ายไปมาระหว่างจุดหมายในกราฟการนำทาง