Как восстановить диалог и т.п. после поворота экрана? Например, откройте диалоговое окно 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). Таким образом, я хотел бы предупредить пользователей: никогда не поворачивайте экран при вводе информации в диалоговом окне ... ИЛИ динамически блокируйте поворот при отображении диалогового окна.
Спасибо всем, кто мне ответил. Надеюсь, моя информация вам тоже поможет.