Mam zagnieżdżony fragment, który pokazuje mój PhotoNoteDialogFragment (!)Zagnieżdżony DialogFragment zostanie odwołany po obróceniu
private void newPhotoNote() {
mPhotoDialog = PhotoNoteDialogFragment.newInstance(this);
mPhotoDialog.show(getFragmentManager(), PhotoNoteDialogFragment.TAG);
}
dialogowe wyskakuje, ale zostaje odrzucona, jak tylko obrócić urządzenie. Zrobiłem już kilka badań i próbował te rzeczy bez powodzenia:
ustawionej PhotoNoteDialogFragment # setRetainInstance (true). Nie działa, ponieważ zagnieżdżone Fragmenty nie mogą zostać zachowane.
Użyj tego fragmentu kodu w PhotoNoteDialogFragment aby zapobiec błąd, który stawia niechciany odrzucenie połączenia z systemu:
@Override public void onDestroyView() { if (getDialog() != null) getDialog().setDismissMessage(null); super.onDestroyView(); }
- spróbować zadzwonić show() - metoda w moim zagnieżdżonego Fragment #onActivityCreated jeżeli wystąpienie PhotoNoteDialogFragment ist niezerowy:
@Override public void onActivityCreated(final Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mPhotoNoteDialogFragment != null) { mPhotoNoteDialogFragment.show(getFragmentManager(), PhotoNoteDialogFragment.TAG); } }
Żadna z tych prób nie spowodowałaby ponownego pojawienia się DialogFragment po obróceniu ekranu. Czy ktoś jeszcze pomysł, co mogę spróbować dalej ...? Nie mam pomysłów.
thx
Czy używałeś innego układu dla trybu portretu i krajobrazu ... – Amsheer
Jak dodajesz fragment główny? Czy jesteś pewien, że został zachowany przez system, czy też tworzysz go ręcznie? –
@Amsheer: Tak, mam różne układy dla zagnieżdżonego fragmentu, a także dla okna dialogowegoFragment. – muetzenflo