У меня возникли проблемы с диалоговыми окнами прогресса. Я использую диалог управляемый прогресс, чтобы показать пользователю, что операция осуществляется с помощью следующего кода, написанного в функции onCreateDialog (интермедиат идентификатор):Изменен диалог и ориентация прогресса
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;
}
Когда операция завершена, я называю dismissDialog (PROGRESS_DIALOG). Проблема в том, что если я поворачиваю телефон во время отображения диалогового окна выполнения, тогда, когда операция завершается, увольнение не имеет эффекта, и прогресс показывается. И это я не могу понять, почему.
Ну, дело в том, что диалог управляется действием, и действие должно обрабатывать такие вещи, как увольнение, когда действие уничтожается и показывается, когда оно создано/возобновлено. –
Я думаю, что увольнение не имеет никакого эффекта, потому что, когда вы вращаетесь, как я уже сказал, создается новый экземпляр Activity, поэтому я также предполагаю новый диалог. так что, возможно, вы пытаетесь сделать увольнение в предыдущем диалоговом окне? – Sephy