2012-12-11 64 views
5

我想顯示進度對話框,只有在需要時纔會顯示「關閉」按鈕,例如當進度值達到其最大值時。在那個「關閉」按鈕上,我想關閉對話框。我使用負面按鈕進行了進度對話框,當用戶點擊它時我可以關閉它,但我不希望「關閉」按鈕在我需要或進度完成時始終可見/始終啓用。如何禁用/啓用進度對話框按鈕

謝謝。

+0

我認爲這可能與一個Asynctask – Guillaume

+0

@Guillaume我使用asyncTask和以前我正在解僱對話postexecute但現在我想顯示最終狀態作爲對話框文本和用戶關閉它的選項。我怎樣才能打開關閉按鈕,然後啓用它? – SohailAziz

+1

你可以使用'setVisible(android.View.VISIBLE)'和'setVisible(android.View.INVISIBLE)' http://developer.android.com/reference/android/view/View.html#setVisibility(int ) – Guillaume

回答

1

您應該使用ProgressBar和Button構建自定義對話框。然後使用Button.setVisibility(View.VISIBLE)和Button.setVisibility(View.INVISIBLE)

5

要構建Guillaume的評論和Karim的答案,可以隱藏/顯示或啓用/禁用ProgressDialog上的按鈕,如下所示:

ProgressDialog dlg = new ProgressDialog(this); 
dlg.setButton(ProgressDialog.BUTTON_NEUTRAL, 
       "Close", 
       new DialogInterface.OnClickListener() {     
         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          //button click stuff here 
         } 
        }); 

dlg.show();  
dlg.getButton(ProgressDialog.BUTTON_NEUTRAL).setEnabled(false); 
//or alternatively 
//dlg.getButton(ProgressDialog.BUTTON_NEUTRAL).setVisibility(View.INVISIBLE); 

你可以掛到Button到以後啓用,一旦你的任務完成。致電show後,請務必致電getButton

相關問題