下面是我项目中用的的一个执行异步任务时,用到的一个提示框,在做一些耗时的操作时用到:
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了方便下次使用..