2016-02-26 34 views
4

我創建進度對話框這樣Progressdialog isshowing返回true,甚至被稱爲隱藏

public VolleyService(Context context, VolleyServiceCompletedListener listener){ 
    this.context = context; 
    pDialog = new ProgressDialog(context); 
    pDialog.setMessage("Loading..."); 
    pDialog.setCancelable(false); 
    this.listener = listener; 
} 

,並試圖用這種方法來顯示進度對話框。

private void showProgressDialog() { 
    boolean isShowing = pDialog.isShowing(); 
    if (!isShowing) 
     pDialog.show(); 
} 

而且使用這種方法隱藏對話框。

private void hideProgressDialog() { 
    if (pDialog.isShowing()) { 
     pDialog.hide(); 
    } 
} 

問題是pDialog.isShowing()返回true,我已經叫pDialog.hide()即使經過。當我看到hide()方法從android.app.Dialog.java他們沒有在mShowing變量指定爲假,但是當我打電話show()他們分配mShowing變量爲真。

那麼,有沒有背後的原因,他們並沒有使假?我怎麼能打開相同的進度再次對話框?

回答

5

不使用隱藏()的使用解僱()代替。這也將防止泄露窗口錯誤

參閱本link更多信息

2

請儘量要關閉對話框。

pDialog.dismiss() 
+1

這有助於..謝謝。 – Gunaseelan

相關問題