旋转屏幕后如何恢复对话框等?例如,弹出一个alertDialog来告诉用户一些信息.然后用户将屏幕旋转到另一个方向.如何恢复alertDialog?任何人都可以指导我这样做吗?谢谢!
稍后附上:
我查看了android源代码并找到了这些东西:
对话框存储在mManagedDialogs,相关信息是:
mManagedDialogs = new SparseArray<ManagedDialog>();
Run Code Online (Sandbox Code Playgroud)
onSaveInstanceState 有关:
final void performSaveInstanceState(Bundle outState) {
onSaveInstanceState(outState);
saveManagedDialogs(outState);
}
Run Code Online (Sandbox Code Playgroud)
在saveManagedDialogs,它有一些关系mManagedDialogs.
onRestoreInstanceState 有关:
final void performRestoreInstanceState(Bundle savedInstanceState) {
onRestoreInstanceState(savedInstanceState);
restoreManagedDialogs(savedInstanceState);
}
Run Code Online (Sandbox Code Playgroud)
在restoreManagedDialogs,它有一些关系mManagedDialogs.
如您所见,对于高级功能,您必须自己执行保存和恢复工作.当你有吨定制的对话框时,它可能是一个夜晚的母马.我没有尝试过复杂的对话框(输入EdiText,listView,比如说).这样,我想警告用户:在对话框中输入信息时不要旋转屏幕...或者,在显示对话框时动态锁定旋转.
感谢所有回答我的人.希望我的信息对你也有帮助.