2013-06-17 15 views
5

İki düğmeli bir uyarı iletişim kutusunu görüntülemek için aşağıdaki kodu kullanıyorum. Ancak, etkinlik duraklatıldığında iletişim kutusu reddedilmezse, bir hata atar. .dismiss kullanarak bir iletişim kutusunu kapatabileceğinizi biliyorum ama bu bir AlertDialog Builder değil, bir Dialog. Bunun nasıl yapılacağı hakkında bir fikrin var mı?Uyarı iletişim kurucusunu on duraksından devreden çıkar

AlertDialog.Builder alertDialog = new AlertDialog.Builder(MyActivity.this); 

       // Setting Dialog Title 
       alertDialog.setTitle("Title"); 

       // Setting Dialog Message 
       alertDialog.setMessage("Message"); 

       // Setting Positive "Yes" Button 
       alertDialog.setPositiveButton("YES", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog,int which) { 
         //yes 
         dialog.cancel(); 

        } 
       }); 

       // Setting Negative "NO" Button 
       alertDialog.setNegativeButton("NO", new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         //no     
        dialog.cancel(); 
        } 
       }); 

       // Showing Alert Message 
       alertDialog.show(); 
+0

dialog.cancel nedir? –

cevap

7

iletişim göstermeden zaman AlertDialog alabilirsiniz: Eğer AlertDialog sayabilirsiniz OnPause yılında

private AlertDialog dialog; // instance variable 

dialog = alertDialog.show(); // show and return the dialog 

:

@Override 
protected void onPause() { 
    super.onPause(); 
    if (alertDialog != null) { 
     alertDialog.dismiss(); 
    } 
} 

BTW AlertDialog.Builder çünkü sen bir kurucusudur

dialog = AlertDialog.Builder(MyActivity.this) 
    .setTitle("Title"); 
    .setMessage("Message") 
[...] 
    .show(); 
gibi aygıtları kullanabilirsiniz.
+0

Bunun benim için çalışmadığını öğrendim çünkü alertDialog.show(); beklenen AlertDialog yerine void döndürür. Yine de teşekkürler. –

İlgili konular