Android: Восстановление диалога и т. Д. После изменения поворота

Как восстановить диалог и т.п. после поворота экрана? Например, откройте диалоговое окно alertDialog, чтобы сообщить пользователю некоторую информацию. затем пользователь поворачивает экран в другую ориентацию. Как восстановить alertDialog? Может ли кто-нибудь помочь мне сделать это? Спасибо!

Добавлено позже:

Я просмотрел исходный код Android и обнаружил следующее:

Диалоги хранятся в mManagedDialogs , и соответствующая информация:

mManagedDialogs = new SparseArray<ManagedDialog>();

onSaveInstanceState ] Связанный:

final void performSaveInstanceState(Bundle outState) {
    onSaveInstanceState(outState);
    saveManagedDialogs(outState);
}

В saveManagedDialogs это как-то связано с mManagedDialogs .

onRestoreInstanceState связано:

final void performRestoreInstanceState(Bundle savedInstanceState) {
    onRestoreInstanceState(savedInstanceState);
    restoreManagedDialogs(savedInstanceState);
}

В restoreManagedDialogs есть что-то, у него есть что-то для mManagedDialogs .

Как видите, для расширенной функции вы должны выполнить задание сохранения и восстановления самостоятельно. Это может быть кошмар, когда у вас есть тонны настраиваемых диалогов. Я не пробовал сложный диалог (например, вводил EdiText, listView). Таким образом, я хотел бы предупредить пользователей: никогда не поворачивайте экран при вводе информации в диалоговом окне ... ИЛИ динамически блокируйте поворот при отображении диалогового окна.

Спасибо всем, кто мне ответил. Надеюсь, моя информация вам тоже поможет.

7
задан Regexident 28 June 2013 в 11:38
поделиться