No se puede descartar ProgressDialog después de completar el AsyncTask

Por favor, ayuda, no puedo descartar ProgressDialog después de AsyncTask completa. Busqué la respuesta pero no encontré nada. Este código funciona bien cuando uso Thread en lugar de AsyncTask. ¿Tienes alguna idea?

Context appContext; ProgressDialog pd; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); appContext=this; MyTask myTask=new MyTask(); myTask.execute(); } class MyTask extends AsyncTask<Void, Void, Void> { @Override protected void onPreExecute() { pd = ProgressDialog.show(appContext, "Wait..", "Loading data", true, false); pd.setCancelable(false); super.onPreExecute(); } @Override protected Void doInBackground(Void... arg0) { //something return null; } @Override protected void onPostExecute(Void result) { if (pd!=null) pd.dismiss(); super.onPostExecute(result); } } 

  private ProgressDialog progressDialog; // class variable private void showProgressDialog(String title, String message) { progressDialog = new ProgressDialog(this); progressDialog.setTitle(title); //title progressDialog.setMessage(message); // message progressDialog.setCancelable(false); progressDialog.show(); } 

onPreExecute ()

  protected void onPreExecute() { showProgressDialog("Please wait...", "Your message"); } 

Comprobar y descartar onPostExecute () –

  protected void onPostExecute() { if(progressDialog != null && progressDialog.isShowing()) { progressDialog.dismiss(); } } 

Prueba esto

  private Context context; private ProgressDialog dialog; public LastStageTask(Context cxt) { context = cxt; dialog = new ProgressDialog(context); } @Override protected void onPostExecute(String result) { dialog.dismiss(); } 
  • ProgressDialog o ProgressBar ralentiza la aplicación que ejecuta Android 4.1
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.