进度对话框和方向已更改

kla*_*han 2 android

我在进度对话框中遇到了一些问题.我使用托管进度对话框向用户显示正在使用onCreateDialog(int id)函数中编写的以下代码执行操作:

          case PROGRESS_DIALOG :
            {
                dialog = new ProgressDialog(this);                                      
                dialog.setMessage(getResources().getString(R.string.eStrUpdating));
                dialog.setCancelable(true);
                dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
                {
                    public void onCancel(DialogInterface dialogInterface)
                    {
                       Log.i(TAG,"progress dialog cancelled ");
                    }
                });
                return dialog;
            }
Run Code Online (Sandbox Code Playgroud)

操作完成后,我调用dismissDialog(PROGRESS_DIALOG).问题是如果我在显示进度对话框的同时旋转手机,那么当操作完成时,解除呼叫无效并且进度仍然显示.这我无法理解为什么.

Sep*_*phy 6

旋转手机时,"活动"将被销毁并重新创建.然后你应该在你的对话框中调用dismiss,在你的活动的onDestroy方法中重新创建它.