Tôi có câu hỏi liên quan đến DialogFragment. Tôi đang cố gắng tạo một hộp thoại giữ trạng thái của nó sau khi thiết bị được xoay. Hộp thoại này có một loạt các tham chiếu đến những thứ như bộ điều hợp và các đối tượng nặng khác và tôi cần điều này được giữ khi xoay, nếu có thể mà không cần phải thực hiện mọi tham chiếu Parcelable hoặc Serializable để tôi sử dụng onSaveInstanceState để lưu và khôi phục chúng khi hoạt động ban đầu được tạo lại.DialogFragment with setRetainInstanceState (true) không được hiển thị sau khi thiết bị được xoay
Tôi đã nhận thấy có một phương pháp gọi là setRetainInstance (boolean) trên DialogFragment cho phép bạn giữ phiên bản phân đoạn hộp thoại khi hoạt động được tạo lại. Tuy nhiên, khi tôi xoay thiết bị ngay bây giờ, hộp thoại sẽ không hiển thị nữa. Tôi biết tôi có thể lấy nó từ FragmentManager của hoạt động, nhưng tôi không thể tìm thấy một cách để làm cho nó có thể nhìn thấy một lần nữa. Bất kỳ đề xuất về điều này?
Cảm ơn, Mihai
Có lẽ điều này có thể giúp: http://stackoverflow.com/questions/8235080/fragments-dialogfragment-and-screen-rotation –
Tôi thấy vấn đề khái niệm lớn hơn nhiều ở đây. Trong tài liệu android cho setFragmentInstance, nó được viết rằng "Kiểm soát liệu một thể hiện phân đoạn có được giữ lại trong Hoạt động tạo lại (chẳng hạn như từ thay đổi cấu hình). Chỉ có thể sử dụng nó với các đoạn ** không nằm trong ngăn xếp sau **. thiết lập, vòng đời của đoạn sẽ hơi khác khi một hoạt động được tạo lại ". Có phải điều này là do thực tế là đoạn hộp thoại nằm trong hậu trường? – Swapnil