Membuat pengontrol navigasi

Pengontrol navigasi adalah salah satu konsep utama dalam navigasi. Pengontrol ini menyimpan grafik navigasi dan menampilkan metode yang memungkinkan aplikasi Anda berpindah antar-tujuan dalam grafik.

Saat menggunakan komponen Navigation, Anda membuat pengontrol navigasi menggunakan class NavController. NavController adalah API navigasi pusat. API ini melacak tujuan yang telah dikunjungi pengguna, dan memungkinkan pengguna berpindah-pindah antar-tujuan. Panduan ini menunjukkan cara membuat NavController di aplikasi Anda.

Untuk informasi tentang cara menambahkan grafik navigasi ke NavController, lihat Mendesain grafik navigasi. NavController menyediakan beberapa cara untuk menavigasi ke tujuan dalam grafiknya. Untuk mengetahui selengkapnya, lihat Menavigasi ke tujuan.

Compose

Untuk membuat NavController saat menggunakan Jetpack Compose, panggil rememberNavController():

val navController = rememberNavController()

Anda harus membuat NavController tinggi dalam hierarki composable. Posisinya harus cukup tinggi sehingga semua composable yang perlu mereferensikannya dapat melakukannya.

Dengan begitu, Anda dapat menggunakan NavController sebagai satu sumber tepercaya untuk mengupdate composable di luar layar. Hal ini mengikuti prinsip pengangkatan status.

View

Jika menggunakan framework UI View, Anda dapat mengambil NavController menggunakan salah satu dari metode berikut, bergantung pada konteksnya.

Kotlin:

Java:

Biasanya, Anda akan mendapatkan NavHostFragment terlebih dahulu, lalu mengambil NavController dari fragmen. Cuplikan berikut menunjukkan hal tersebut:

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();

Bacaan lebih lanjut

  • Mendesain grafik navigasi: Panduan yang menjelaskan cara menambahkan grafik ke NavController yang berisi semua tujuan di aplikasi Anda.
  • Menavigasi ke tujuan: Panduan yang menjelaskan cara menggunakan NavController untuk berpindah-pindah antar-tujuan dalam grafik navigasi Anda.