1. 程式人生 > >【坑】ProgressDialog 已經dismiss 了還是顯示

【坑】ProgressDialog 已經dismiss 了還是顯示

tjstudy: 寫在前面
環境 :android 2.1.1

issue:在實際開發中,已經dismiss了ProgressDialog,但是dialog並沒有關閉,任然顯示。

錯誤情況模擬

package com.tjstudy.progressdialog;

import android.app.ProgressDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity
{
private ProgressDialog progressDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); progressDialog =ProgressDialog.show(this, "訊息", "資料下載中...."); progressDialog =ProgressDialog.show(this
, "訊息", "資料下載中...."); progressDialog.dismiss(); } }

錯誤原因,進行了兩次show三個引數的操作,顯示了兩個框,只能關閉一個。

解決方案
1、介面上只有這裡建立progressDialog

progressDialog = ProgressDialog.show(mContext, "訊息", "正在新增患者資訊...");
progressDialog.dismiss();//建立完 隱藏

2、顯示

progressDialog.show();

3、隱藏

progressDialog.dismiss();//儘量不要使用hide,使用hide經常會出現leak