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
launchSingleTopdanpopUpTo { 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
- Menyiapkan NavHost
- Bernavigasi Antar-Layar
- Meneruskan Argumen
- Navigasi Bawah