2011-07-21 112 views
0

我想從服務器獲取一些數據。如果由於某些原因導致中間失敗,我顯示一條警告提示用戶再次重新開始下載。所以我所做的是,在alert對話框的ok按鈕中,我再次調用了下載方法。這使警報對話框凍結並停止形成隱藏。只有下載完成後,警報對話框纔會被解除。任何人都可以在這裏提出一些想法如何手動關閉alertDialog?

+1

請添加一些代碼示例。我想你應該先關閉對話框然後開始下載。而不是相反。 – powerMicha

回答

0

onclick事件首先關閉對話框(dialog.cancel();或dialog.dismiss() ),然後再次調用下載函數。 使用此代碼獲取對話框showDialog(0);

protected Dialog onCreateDialog(int id) 
{ 
    AlertDialog.Builder builder = new AlertDialog.Builder(this); //builder to create dialog 

    switch(id) 
    { 
    case 0: 

     if(GAME_STARTED) 
     { 
      builder.setTitle("failed"); 
      builder.setMessage("xxxxx"); 

      //The buttons set for the dialog box 
      builder.setPositiveButton("YES", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) 
       { 
        builder.dismiss(); 
            download_again(); 
       }}); 


     } 
     break; 
default: 
    } 
    return builder.create();  
} 
+0

這不是自定義對話框。這是一個AlertDialog。沒有像cancel()或dismiss()這樣的方法。 –

+0

看到這個http://stackoverflow.com/questions/4336470/how-do-i-close-an-android-alertdialog –