2017-08-11 78 views
0

我在我的活動中有ProgressDialog,當我單擊工具欄的BackButton時我想關閉它。我已經添加了OnKey函數來處理Phone的BackButton功能,並且工作正常,但是當我單擊工具欄上的BackButton時,它不起作用。設置ProgressDialog關閉後退按鈕在工具欄中

Public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_BACK) { 
       progressdialog.dismiss(); 
       finish(); 

      } 
      return true; 
     } 

我已經加入setOnclickListener法工具欄上的後退按鈕,但是當數據被完全從數據庫加載並在ProgressDialog駁回回到以前的活動它纔有效。

+0

你在調用asyncTask中的progressdialog.show()嗎? – yasin

+0

對不起,但我沒有得到你的問題。 @yasin – ASH

回答

1

ProgressDilog是一個模態對話框,意味着用戶cannon以任何方式與應用程序進行交互。所以當顯示對話框時不可能點擊任何按鈕。對話框可以通過後退按鈕解除,你甚至不需要繼承它並覆蓋onKey方法,你可以調用correct static method for displaying

您應該考慮採用其他方式向用戶顯示進度。 ProgressDilaog已棄用。

documentation

此類被廢棄在API級別26. ProgressDialog是一個模態對話框,這防止用戶與應用程序進行交互。您應該使用ProgressBar之類的進度指示符,而不是使用此類,它可以嵌入到應用程序的用戶界面中。或者,您可以使用通知來通知用戶任務的進度。

+0

感謝您清除我的問題。現在我將嘗試找到另一種方法.. – ASH