2010-07-24 18 views
8

Herkes, AlertDialog.Builder sınıfını hangi bağlamda kullanmam gerektiğini açıklayabilir mi? Android uygulama geliştirme konusunda yeniyim ve açıkçası ne zaman kullanacağımı anlamıyorum.AlertDialog.Builder'i hangi bağlamda kullanmalıyım?

Demek, AlertDialog.Builder sınıf için bir nesne oluşturmak istiyorum -

AlertDialog.Builder ab = new AlertDialog.Builder(); 
ab.setMessage("Test"); 

ab.show(); 

Ne bağlam içinde kullanmak gerekir? Alert Dialog onCreate veya OnClickListener10'u veya böyle bir olayın işleyicisini kullanırsam bu farklılık gösterir mi?

cevap

4

Uygulamamın ilk sürümünde, onCreateDialog kullanmama hatası yaptım ve bunun yerine iletişim kutularını kendim yaptım. Eğer bunu kendiniz yaparsanız, aktiviteyi bitirmeden önce diyaloğu kapatmak gibi şeylere dikkat etmeniz gerekir (aksi takdirde bir pencere sızacaktır).

Etkinliğinizde onCreateDialog'u geçersiz kılar ve ab.create() (show()) değerini döndürürüm. onCreateDialog daha sonra iletişim kutusunu gösterecek ve sadece showDialog (id) 'i çağırmanız gerekecek. u istiyorsanız

11

Yürütülen Faaliyetin içeriğini kullanmalısınız. Başka bir deyişle, bağlam olarak YourNameOfActivity.this kullanın.

1
AlertDialog.Builder ab = new AlertDialog.Builder(this); 
ab.setMessage("Test") 
    .show; 

(veya) (evet, hayır) düğmesi bu

AlertDialog.Builder ab = new AlertDialog.Builder(this); 
ab.setMessage("Are you sure you want to exit?") 
    .setPositiveButton("Yes", dialogClickListener) 
    .setNegativeButton("No", dialogClickListener) 
    .show(); 
kullanmak demektir
İlgili konular