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