0Pricing
Android Academy · Pelajaran

Bernavigasi Antar-Layar

Berpindah maju dan mundur antar tujuan.

Bernavigasi Antar-Layar adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.

Melangkah Lebih Jauh

Setelah NavHost disiapkan, Anda dapat berpindah ke layar lain dengan memanggil navigate pada NavController menggunakan rute tujuan.

navController.navigate("details")

Memicu dari Tombol

Navigasi biasanya terjadi di dalam callback, seperti onClick pada tombol.

Button(onClick = { navController.navigate("details") }) {
    Text("Open details")
}

Tumpukan Navigasi

Setiap navigate menambahkan tujuan baru ke tumpukan navigasi. Tombol kembali sistem akan menghapusnya secara otomatis, lalu kembali ke layar sebelumnya.

popBackStack

Untuk kembali secara terprogram, misalnya dari tombol "Kembali" khusus, panggil popBackStack. Ini menghapus tujuan saat ini dan kembali ke tujuan sebelumnya.

navController.popBackStack()

navigateUp

navigateUp() memiliki fungsi yang serupa dan merupakan pilihan yang tepat untuk panah Kembali pada bilah alat. Fungsi ini mengikuti hierarki navigasi.

navController.navigateUp()

Menghindari Tujuan Duplikat

Mengetuk tombol dua kali dengan cepat dapat menambahkan layar yang sama dua kali. Gunakan launchSingleTop = true untuk mencegah salinan tujuan yang sama menumpuk.

navController.navigate("details") {
    launchSingleTop = true
}

popUpTo

popUpTo menghapus sebagian tumpukan navigasi saat berpindah. Ini berguna setelah masuk: lompat ke beranda dan hapus layar masuk agar tombol kembali tidak mengarah kembali ke sana.

navController.navigate("home") {
    popUpTo("login") { inclusive = true }
}

inclusive

inclusive = true berarti target popUpTo juga dihapus. Dengan inclusive = false, penghapusan berhenti tepat sebelum target tersebut.

Menjaga Layar Tetap Terpisah

Alih-alih meneruskan seluruh NavController ke setiap layar, teruskan lambda. Layar memanggil onOpenDetails() dan tidak perlu mengetahui detail internal navigasi.

@Composable
fun HomeScreen(onOpenDetails: () -> Unit) {
    Button(onClick = onOpenDetails) { Text("Details") }
}

Menghubungkan Lambda

NavHost menghubungkan lambda ke pemanggilan navigate yang sebenarnya, sehingga logika navigasi tetap berada di satu tempat.

composable("home") {
    HomeScreen(onOpenDetails = {
        navController.navigate("details")
    })
}

Menyatukan Semuanya

Beranda berpindah ke detail; layar detail kembali menggunakan panah Kembali.

composable("home") {
    HomeScreen(onOpenDetails = { navController.navigate("details") })
}
composable("details") {
    DetailsScreen(onBack = { navController.popBackStack() })
}

Pemeriksaan Singkat

Pemanggilan mana yang mengembalikan pengguna ke layar sebelumnya secara terprogram?

Rangkuman

Navigasi:

  • navigate("route") menambahkan tujuan ke tumpukan.
  • popBackStack() / navigateUp() digunakan untuk kembali.
  • Gunakan launchSingleTop dan popUpTo { inclusive } untuk mengendalikan tumpukan.
  • Teruskan lambda, bukan pengontrol, agar layar dapat digunakan kembali.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Bernavigasi Antar-Layar” gratis?

Ya — teks lengkap “Bernavigasi Antar-Layar” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Bernavigasi Antar-Layar”?

Berpindah maju dan mundur antar tujuan. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Android Academy?

Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Bernavigasi Antar-Layar” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?

Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Menyiapkan NavHost
  2. Bernavigasi Antar-Layar
  3. Meneruskan Argumen
  4. Navigasi Bawah
← Kembali ke Android Academy