package com.maxiee.heartbeat.common; import android.app.ProgressDialog; import android.content.Context; import android.content.DialogInterface; import android.os.AsyncTask; import android.support.v7.app.AlertDialog; /** * Created by maxiee on 15-5-17. */ public abstract class DialogAsyncTask extends AsyncTask<Void, Integer, String>{ private ProgressDialog progressDialog; private Context mContext; protected boolean mTaskSuccess = false; public DialogAsyncTask(Context context) { mContext = context; } @Override protected void onPreExecute() { super.onPreExecute(); progressDialog = new ProgressDialog(mContext); progressDialog.setMessage("正在提交"); progressDialog.setCancelable(false); progressDialog.show(); } @Override protected void onPostExecute(String msg) { super.onPostExecute(msg); progressDialog.dismiss(); if (mTaskSuccess) { showSuccessDialog(msg); } else { showFailedDialog(msg); } } private void showSuccessDialog(String msg) { new AlertDialog.Builder(mContext) .setMessage(msg) .setCancelable(false) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); onFinish(); } }) .create() .show(); } private void showFailedDialog(String msg) { new AlertDialog.Builder(mContext) .setMessage(msg) .setCancelable(true) .setNegativeButton(android.R.string.cancel, null) .create() .show(); } public Context getmContext() { return mContext; } public abstract void onFinish(); }