2011-08-18 6 views
18

olarak kapalı Başlarken. Ve sadece üzerindeki düğmeyle kapatılmasını istiyorum. Ancak Donanım Geri Düğmesi, diyaloğun gerçekleştirildiği eylem olmadan bu diyaloğu kapatabilir.böyle bir uyarı iletişim kutusu var Geri Düğmesi

Geri düğmeyi bu iletişim kutusunu kapatmak istemiyorum, ne yapabilirim?

cevap

10

SetOnKeyListener'ı uygulayın ve KeyEvent.KEYCODE_BACK ürününü yakalayın. Bu yöntemde true değerini döndürürseniz, iletişim kutusu kapanmaz.

+4

Bu şekilde, kullanıcı, İletişim Kutusu'ndaki geri düğmesine bastığında istediğinizi yapabilirsiniz. – CommonMan

+0

Bu benim için sadece yararlı çözümdü çünkü geri düğmesine bir eylem eklemek istedim. – Roel

58

kullanın Dialog.setCancelable(): Bu iletişim GERİ tuşuyla iptal olup olmadığını

ayarlar. Kodunuzda

bu olacaktır:

oyunaBaslaDialog.setCancelable(false); 
+0

müthiş teşekkür ederim! – Batuhan

+1

Ancak, yalnızca arka tuşun belirli koşullara göre diyaloğu kapatıp kapatmadığına karar vermek istersiniz? – aggregate1166877

+8

Diyaloğunuz DialogFragment içinde ise DialogFragment için setCancelable (false) çağırmanız gerekecek, aksi takdirde Back parçayı kapatır. Dokümanlara bağlantı: http://developer.android.com/reference/android/app/DialogFragment.html#setCancelable%28boolean%29 – Ognyan

0

denilen bir yöntem vardır, onunla .override bulder.setCancelable() bu iptal set 'gerçek' varsayılan kı,

bulder.setCancelable(false)