当前位置: 代码迷 >> Android >> 关于在对话框里弹出对话框的有关问题
  详细解决方案

关于在对话框里弹出对话框的有关问题

热度:38   发布时间:2016-05-01 13:25:01.0
关于在对话框里弹出对话框的问题
自己新建了一个对话框,在响应确定键里边有一个比较耗时的操作,现在想在执行操作的时候加一个圆形进度条的对话框,让用户知道不是程序死掉了,还在正常运行,自己尝试了一下,加的圆形进度条的对话框一直没有显示啊
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();
}
}
}
  相关解决方案