2013-06-19 36 views
6

Tôi có một lồng nhau Fragment cho thấy PhotoNoteDialogFragment của tôi (!):Nested DialogFragment bị sa thải sau khi luân chuyển

private void newPhotoNote() { 
    mPhotoDialog = PhotoNoteDialogFragment.newInstance(this); 
    mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); 
} 

Hộp thoại bật lên, nhưng bị sa thải ngay sau khi tôi xoay thiết bị. Tôi đã thực hiện một số nghiên cứu và thử những điều này mà không thành công:

  • set PhotoNoteDialogFragment # setRetainInstance (true). Không hoạt động, bởi vì các mảnh vỡ lồng nhau không thể được giữ lại.

  • Sử dụng đoạn mã này trong PhotoNoteDialogFragment để ngăn chặn một lỗi sẽ đặt không mong muốn bỏ cuộc gọi từ hệ thống:

 
    @Override 
    public void onDestroyView() { 
     if (getDialog() != null) 
      getDialog().setDismissMessage(null); 
     super.onDestroyView(); 
    } 
  • Cố gắng gọi show() - Phương pháp trong Fragment lồng nhau của tôi #onActivityCreated, nếu trường hợp của các PhotoNoteDialogFragment ist không null:
 
    @Override 
    public void onActivityCreated(final Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    if (mPhotoNoteDialogFragment != null) { 
     mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); 
    } 
    } 

Không ai trong số những nỗ lực này có thể làm cho DialogFragment xuất hiện trở lại sau khi xoay màn hình. Có ai khác là một ý tưởng, những gì tôi có thể thử tiếp theo ..? Tôi hết ý tưởng.

thx

+0

Bạn có sử dụng bố cục khác cho chế độ dọc và ngang không ... – Amsheer

+0

Bạn đang thêm đoạn gốc như thế nào? Bạn có chắc nó được hệ thống giữ lại hay bạn đang tạo lại nó theo cách thủ công không? –

+0

@Amsheer: Có, tôi có các bố cục khác nhau cho đoạn lồng nhau cũng như cho hộp thoạiFragment. – muetzenflo

Trả lời

0

Tôi nghĩ rằng bạn không cần phải ghi đè onActivityCreated, thoại của bạn là tốt mà không có nó. Tôi cũng đã thử nó. Nếu bạn hiển thị hộp thoại trên onActivityCreated, ứng dụng của bạn sẽ bị lỗi.

Các vấn đề liên quan