旋转屏幕后,ProgressDialog会解散

时间:2011-11-19 00:51:59

标签: android android-activity dialog android-asynctask progressdialog

我使用服务上传文件。在上传文件时,我会显示ProgressDialog。

当我旋转屏幕时,ProgressDialog会解散。

如何保持ProgressDialog?

我宁愿不覆盖onConfigurationChanged。

谢谢!

2 个答案:

答案 0 :(得分:3)

如果您使用showDialog(int)方法显示对话框,

Android应handle this automatically

答案 1 :(得分:1)

扩展Dalmas的建议,如果你碰巧像我一样,你在一个单独的类中创建对话框来管理异步任务,那么你可能需要添加一行:

mProgressDialog.setOwnerActivity((Activity)mContext);

这允许Activity管理对话框。一个较长的片段供参考......

public DownloadCatalog(Context c) {
    mContext = c;
}

public void startDownload() {
    mProgressDialog = new ProgressDialog(mContext);
    mProgressDialog.setOwnerActivity((Activity)mContext);
    mProgressDialog.setMessage("Downloading \n" + remoteDirectory);
    mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    mProgressDialog.setCancelable(false);


    new DownloadFileAsync().execute(fileUrl);
}


class DownloadFileAsync extends AsyncTask<String, String, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        mProgressDialog.show(); 
    }