我有一個關於DialogFragment的問題。我試圖做一個對話框,在設備旋轉後保持它的狀態。這個對話框有很多引用,比如適配器和其他較重的對象,我需要在循環時保留這些對象,如果可能的話,不必創建每個引用Parcelable或Serializable,以便我使用onSaveInstanceState保存和恢復它們原始活動被重新創建。設備旋轉後不顯示帶有setRetainInstanceState(true)的DialogFragment
我注意到在DialogFragment上有一個名爲setRetainInstance(boolean)的方法,它允許您在重新創建活動時保留對話框片段實例。但是,當我旋轉設備時,對話框不再顯示。我知道我可以從活動的FragmentManager中獲得它,但是我找不到讓它再次可見的方法。對此有何建議?
感謝, 米哈伊
也許這可以幫助:http://stackoverflow.com/questions/8235080/fragments-dialogfragment-and-screen-rotation –
我在這裏看到一個更大的概念問題。在android文檔中爲setFragmentInstance寫道:「控制片段實例是否在Activity重新創建時保留(例如從配置更改中),這隻能用於**片段不在後端堆棧**中。設置,當活動重新創建時,片段生命週期將略有不同「。這是因爲對話框片段在後臺? – Swapnil