Làm thế nào để khôi phục hộp thoại vv sau khi xoay màn hình? Ví dụ, bật lên một alertDialog để cho người dùng biết một số thông tin. sau đó người dùng xoay màn hình sang hướng khác. Làm thế nào để khôi phục alertDialog? Có ai hướng dẫn tôi làm điều đó không? Cảm ơn!Android: Dialog etc khôi phục sau khi xoay thay đổi
Nối sau:
Tôi nhìn vào mã nguồn Android và tìm những điều sau:
Dialogs được lưu trữ trong mManagedDialogs
, và các thông tin liên quan là:
mManagedDialogs = new SparseArray<ManagedDialog>();
onSaveInstanceState
liên quan:
final void performSaveInstanceState(Bundle outState) {
onSaveInstanceState(outState);
saveManagedDialogs(outState);
}
Trong saveManagedDialogs
, nó có liên quan đến mManagedDialogs
.
onRestoreInstanceState
liên quan:
final void performRestoreInstanceState(Bundle savedInstanceState) {
onRestoreInstanceState(savedInstanceState);
restoreManagedDialogs(savedInstanceState);
}
Trong restoreManagedDialogs
, nó có cái gì để làm với mManagedDialogs
.
Như bạn có thể thấy, đối với tính năng nâng cao, bạn phải tự mình thực hiện công việc lưu và khôi phục. Nó có thể là một đêm khi bạn có tấn hộp thoại tùy chỉnh. Tôi đã không thử hộp thoại phức tạp (có đầu vào EdiText, listView, nói). Bằng cách này, tôi muốn cảnh báo người dùng: Không bao giờ xoay màn hình khi nhập thông tin của bạn vào hộp thoại ... HOẶC, khóa xoay động khi hiển thị hộp thoại.
Cảm ơn tất cả những người đã trả lời tôi. Hy vọng thông tin của tôi cũng giúp bạn.
Làm thế nào để giải quyết vấn đề này hiện nay: http://stackoverflow.com/a/15729764/842697 –