下面是我项目中用的的一个执行异步任务时,用到的一个提示框,在做一些耗时的操作时用到:
import lbaca.sns.entity.PhoneInfo;
import android.app.ProgressDialog;
import android.os.AsyncTask;
public class MyCommonDialog extends AsyncTask<String, String, String> {
ProgressDialog dialog;
String msg;
/**
* 此方法执行耗时操作
*
* @return :返回
*/
protected String doNoUiOpt() {
return "";
}
/**
* 根据返回的执行结果,做UI更新的处理
*
* @param success
* :操作是否执行成功
*/
protected void doBack(String success) {
}
public MyCommonDialog(String message) {
// TODO Auto-generated constructor stub
this.msg = message;
execute(message);
}
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
return doNoUiOpt();
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
//PhoneInfo.nowActivity为我当前显示的页面对象,如果不用这个方式,可以在构造函数里面传递对象过来
dialog = new ProgressDialog(PhoneInfo.nowActivity);
dialog.setMessage(msg);
dialog.setTitle(R.string.system_dialog_title);
dialog.setIcon(R.drawable.icon);
dialog.setCancelable(false); // 禁用退回按键取消
dialog.show();
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
dialog.cancel();
doBack(result);
}
}
O了方便下次使用..