Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dokumen ini menjelaskan bagaimana penggunaan tujuan dialog dapat memberikan
pertimbangan unik tentang cara Anda mengelola data sebelumnya.
Ringkasan
Satu atau beberapa tujuan dialog hanya bisa berada di bagian atas data sebelumnya.
Hal ini karena ketika pengguna menavigasi ke tujuan yang bukan merupakan tujuan
dialog, NavController akan otomatis memunculkan semua tujuan dialog dari
bagian atas stack. Hal ini memastikan bahwa tujuan saat ini selalu terlihat
sepenuhnya di atas tujuan lain di data sebelumnya.
Jika data sebelumnya hanya terdiri dari tujuan yang dihosting
yang mengisi host navigasi, dan pengguna menavigasi ke tujuan dialog,
data sebelumnya mungkin terlihat mirip dengan gambar 2:
Gambar 2. Data sebelumnya dengan tujuan dialog di bagian atas.
Jika pengguna kemudian membuka tujuan dialog lain, tujuan dialog tersebut
akan ditambahkan ke bagian atas data sebelumnya, seperti yang ditunjukkan pada gambar 3:
Gambar 3. Data sebelumnya dengan dua tujuan
Dialog di atasnya.
Jika pengguna kemudian menavigasi ke tujuan yang tidak mengambang, tujuan
dialog apa pun akan muncul dari bagian atas data sebelumnya terlebih dahulu sebelum menavigasi
ke tujuan baru, seperti yang ditunjukkan pada gambar 4:
Gambar 4. Tujuan Dialog
muncul, dan tujuan baru ditambahkan.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# Dialog destinations\n\nThis document outlines how the use of [dialog destinations](/guide/navigation/design) can introduce\nunique considerations for how you need to manage your back stack.\n\nOverview\n--------\n\nOne or more dialog destinations can only exist on the top of the back stack.\nThis is because when the user navigates to a destination that is not a dialog\ndestination, the `NavController` automatically pops all dialog destinations off\nthe top of the stack. This ensures that the current destination is always fully\nvisible over other destinations on the back stack.\n\nDestinations can be either [hosted destinations](/guide/navigation/design), [activity\ndestinations](/guide/navigation/design/activity-destinations), or [dialog destination](/guide/navigation/design/dialog-destinations).\n| **Note:** Dialog destinations implement the [`FloatingWindow`](/reference/androidx/navigation/FloatingWindow) interface. As such, they overlay other destinations on the back stack.\n\nExample\n-------\n\nIf the back stack consists solely of [hosted destinations](/guide/navigation/design)\nthat fill the navigation host, and the user navigates to a dialog destination,\nthen the back stack might look similar to figure 2:\n**Figure 2.** A back stack with a dialog destination on top.\n\nIf the user then navigates to another dialog destination, it is then added to\nthe top of the back stack, as shown in figure 3:\n**Figure 3.** A back stack with two `Dialog` destinations on top.\n\nIf the user then navigates to a non-floating destination, any dialog\ndestinations are first popped from the top of the back stack before navigating\nto the new destination, as shown in figure 4:\n**Figure 4.** The `Dialog` destinations are popped, and the new destination is added."]]