Seperti judulnya, apa perbedaan antara dialog yang dibubarkan atau dibatalkan di Android?
194
Biasanya, dialog diberhentikan saat tugasnya selesai dan dihapus dari layar. Dialog dibatalkan ketika pengguna ingin keluar dari dialog dan menekan tombol Kembali.
Misalnya, Anda memiliki dialog Ya / Tidak standar di layar. Jika pengguna mengklik Tidak, maka dialog ditolak dan nilai untuk Tidak dikembalikan ke pemanggil. Jika alih-alih memilih Ya atau Tidak, pengguna mengklik Kembali untuk keluar dari dialog daripada membuat pilihan kemudian dialog dibatalkan dan tidak ada nilai yang dikembalikan ke pemanggil.
dismiss
adalah sesuatu yang harus Anda panggil secara eksplisit dalam kode Anda, biasanya untuk menanggapi acara klik pada tombol di AndaDialog
. Jika Anda suka, Anda dapat menghubungidismissDialog
diActivity
, yang pada akan mengubah panggilandismiss
padaDialog
.The
cancel
Metode hanya mengeksekusi ketika secara eksplisit disebut dalam kode Anda, atau ketika pengguna menekan tombol BACK ketika dibatalkan AndaDialog
terbuka (seperti @Lee dicatat).Jika Anda menggunakan
DatePicker
, maka semua ini masih terjadi. Seperti @Lee katakan,DatePickerDialog.OnDateSetListener
hanya mendeteksi ketika pengguna telah memilih tanggal dariDatePicker
.Itu Android Developer Referensi menyediakan info lebih lanjut tentang
Dialog
s.sumber
cancel
metode. Ada dua pendengar berbeda untuk dimissing dan canceling.Dismiss
Memanggil pemberhentian menghapus dialog dari layar. Metode ini dapat dipanggil dengan aman dari utas apa pun. Perhatikan bahwa Anda tidak harus mengesampingkan metode ini untuk melakukan pembersihan ketika dialog ditolak, melainkan menerapkannya di onStop .Cancel
Memanggil pembatalan, membatalkan dialog. Ini pada dasarnya sama dengan memanggil dismiss () , tetapi juga akan memanggil DialogInterface.OnCancelListener Anda , jika terdaftar.Hide
Metode ini menyembunyikan dialog, tetapi jangan mengabaikannya.Dan untuk lebih lanjut lihat di sini
sumber