Android'de bir iletişim kutusunun kapatılması veya iptal edilmesi arasındaki fark nedir?


193

Başlığın dediği gibi, Android'de bir iletişim kutusunun kapatılması veya iptal edilmesi arasındaki fark nedir?

Yanıtlar:


187

Genellikle, bir iletişim kutusu işi bittiğinde kapatılır ve ekrandan kaldırılır. Kullanıcı iletişim kutusundan çıkmak istediğinde bir iletişim kutusu iptal edilir ve Geri düğmesine basar.

Örneğin, ekranda standart bir Evet / Hayır iletişim kutusu var. Kullanıcı Hayır'ı tıklatırsa, iletişim kutusu kapatılır ve Hayır değeri arayana döndürülür. Evet veya Hayır'ı seçmek yerine, kullanıcı bir seçim yapmak yerine iletişim kutusundan çıkmak için Geri'yi tıklarsa iletişim kutusu iptal edilir ve arayana hiçbir değer döndürülmez.


Cevap için teşekkürler. Kullanıcı bir tarih seçici iptal düğmesine basarsa ne olacağını ayarlamaya çalışıyorum. İlk önce işten çıkarma dinleyicisini kullanmayı denedim ve bu işe yaradı, ancak kullanıcı bir zaman seçtiğinde de oldu. Sonra bir iptal dinleyici denedim ve iptal etse bile hiç gitmedi. Ne yapmam gerektiğini biliyor musun?
Aal

2
Bir DatePickerDialog kullanıyorsanız, tarih değiştiğinde bildirim almak için OnDateSetListener kullanmanız gerekir. Birisi iptal düğmesini tıklarsa ... çağrılmaz ve iletişim kendi kendine gider. DatePickerDialog öğesinin normal kullanımları için başka dinleyiciler ayarlamanız gerekmez.
Lee

FYI, geri düğmesi hem iptal dinleyicisini hem de reddetme dinleyicisini tetikler.
Urban

28

dismissgenellikle kodunuzdaki bir düğmedeki bir tıklama etkinliğine yanıt vermek için kodunuzda açıkça çağırmanız gereken bir şeydir Dialog. Eğer tercih ederseniz, çağırabilir dismissDialogiçinde Activityaramayı dönecek olan dismissüzerinde Dialog.

cancelYöntem yalnızca açıkça kodunuzda çağrıldığında çalıştırır veya kullanıcı GERİ düğmesine bastığında da iptal zaman Dialog(@Lee belirtildiği gibi) açıktır.

A kullanıyorsanız DatePicker, tüm bunlar hala geçerli. @Lee'nin dediği gibi, DatePickerDialog.OnDateSetListenersadece kullanıcının bir tarih seçtiğini algılar DatePicker.

Android Geliştirici Başvurusu hakkında daha fazla bilgi sağlar Dialogs.


cancelYöntemi de çağırabilirsiniz . Reddetme ve iptal etme için iki farklı dinleyici vardır.
creativecreatorormaybenot

12

DismissKapatmayı çağırmak iletişim kutusunu ekrandan kaldırır. Bu yöntem herhangi bir iş parçacığından güvenli bir şekilde çağrılabilir. İletişim kutusu kapatıldığında temizleme yapmak için bu yöntemi geçersiz kılmamalısınız , bunun yerine onStop öğesine uygulayın .

Cancelİptal çağrıldığında iletişim kutusu iptal edilir. Bu temelde çağıran aynıdır ) (görevden , ama aynı zamanda sizin arayacak DialogInterface.OnCancelListener kayıtlı ise,.

Hide Bu yöntem iletişim kutusunu gizler, ancak kapatmayın.

Ve daha fazlası için buraya bakın

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.