Tôi có Hoạt động và cần hiển thị Hộp thoại trong đó. Mọi thứ đều hoạt động tốt ở đây. Tôi đã overrided onCreateDialog phương pháp trong hoạt động, đây là mã:Hộp thoại Android hiển thị lại sau khi Hoạt động được tạo lại
đâu CreateWaitDialog là phương pháp tùy chỉnh của việc tạo ra một hộp thoại và waitDialog là tĩnh biến.
Tôi đang hiển thị hộp thoại bằng cách gọi cho showDialog (10)
Tất cả mã đang hoạt động tốt.
Sau khi hộp thoại được hiển thị, tôi sẽ đóng hộp thoại bằng cách gọi.
if(waitDialog != null)
waitDialog.hide();
Và tôi sẽ loại bỏ nó khi Hoạt động bị hủy.
if(dialogCreated)
dismissDialog(10);
super.onDestroy();
Kết thúc và mọi thứ đều tuyệt vời. NHƯNG, khi tôi thay đổi hướng của thiết bị và Hoạt động được tạo lại, nó tự bật lên một lần nữa! Tôi không gọi bất kỳ showDialog hoặc một cái gì đó như thế nó chỉ là popping up!
Tôi ghét các câu trả lời cạnh tranh vì bạn đã dành thêm thời gian để trích dẫn tài liệu, tôi đã xóa câu trả lời của mình và cung cấp cho bạn một ý kiến mới. – Sam
@Sam Tôi nghĩ câu trả lời của bạn vẫn có giá trị, tôi sẽ rời khỏi nó.Có lẽ anh ta thực sự nên gọi là sa thải thay vì trốn, câu trả lời của tôi chỉ đơn thuần là phỏng đoán/hack để có được hành vi mặc định của onCreateDialog. Tôi nghĩ rằng bạn có lẽ là giải pháp tốt hơn. – Tim
Tôi chỉ kiểm tra lại mã nguồn và nếu hộp thoại được hiển thị nhiều lần, sử dụng 'hide()' là cách tiếp cận nhanh hơn. Ngoài ra câu trả lời của bạn có thể đã được đoán, nhưng nó cũng được thành lập và chính xác. Vì vậy, tôi vui mừng để lại upvote của tôi. – Sam