Membuat pengontrol navigasi

Pengontrol navigasi adalah salah satu konsep utama dalam navigasi. File ini menyimpan grafik navigasi dan menampilkan metode yang memungkinkan aplikasi Anda bergerak di antara tujuan dalam grafik.

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

Untuk informasi 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 tinggi NavController dalam hierarki composable. Nilainya harus cukup tinggi sehingga semua composable yang perlu mereferensikannya dapat melakukannya.

Dengan melakukannya, 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 Tampilan, Anda dapat mengambil NavController menggunakan salah satu 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 antar-tujuan dalam grafik navigasi Anda.