自己新建了一个对话框,在响应确定键里边有一个比较耗时的操作,现在想在执行操作的时候加一个圆形进度条的对话框,让用户知道不是程序死掉了,还在正常运行,自己尝试了一下,加的圆形进度条的对话框一直没有显示啊
AlertDialog.Builder dialog = new AlertDialog.Builder(MyActivity.this);
dialog.setTitle(file.getName());
dialog.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Dialog dlg = new Dialog(MyActivity.this);
dlg.setTitle("请等待");
dlg.setContentView(R.layout.pro_dialog);// 这里添加的是一个包含圆形进度条的对话框
dlg.show();
------这里就是添加的那个耗时程序-----
dlg.dismiss();
});
dialog.create().show();
------解决方案--------------------
Dialog dlg = new Dialog(MyActivity.this);
dlg.setTitle("请等待");
dlg.setContentView(R.layout.pro_dialog);// 这里添加的是一个包含圆形进度条的对话框
dlg.show();
------这里就是添加的那个耗时程序-----
dlg.dismiss();
改用AsyncTask方式实现:new testTask().execute();
private class testTask extends AsyncTask<String, Void, Boolean>
{
private ProgressDialog progressDialog;
@Override
protected void onPreExecute()
{
progressDialog = new ProgressDialog(MainService.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("提示");
progressDialog.setMessage("正在...");
progressDialog.setIndeterminate(false);
progressDialog.show();
}
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
------这里就是添加的那个耗时程序-----
return null;
}
@Override
protected void onPostExecute(Boolean result)
{
if(null!=progressDialog && progressDialog.isShowing())
{
progressDialog.dismiss();
}
}
}