Menambahkan dukungan untuk jenis tujuan baru

Jenis NavController mengandalkan satu atau beberapa objek Navigator untuk menjalankan operasi navigasi. Secara default, NavController mendukung tindakan meninggalkan grafik navigasi dengan menavigasi ke aktivitas lain menggunakan class ActivityNavigator dan class ActivityNavigator.Destination bertingkatnya.

Untuk menavigasi ke jenis tujuan lainnya, satu atau beberapa objek Navigator lain harus ditambahkan ke NavController. Misalnya, saat menggunakan fragmen sebagai tujuan, NavHostFragment otomatis menambahkan class FragmentNavigator ke NavController-nya.

Untuk menambahkan objek Navigator baru ke NavController, gunakan metode getNavigatorProvider(), yang diikuti dengan metode addNavigator().

Kode berikut menunjukkan contoh penambahan objek CustomNavigator ke NavController:

Kotlin

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

Java

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

Sebagian besar class Navigator memiliki subclass tujuan bertingkat. Subclass ini dapat digunakan untuk menentukan atribut tambahan yang unik untuk tujuan Anda. Untuk mengetahui informasi selengkapnya tentang subclass tujuan, lihat dokumentasi referensi untuk class Navigator yang sesuai.

Referensi lainnya

Untuk mempelajari navigasi lebih lanjut, lihat referensi tambahan berikut.

Codelab

Video