В моем проекте я изначально использовал эту схему:
Активность
A(UI) > ФрагментB(не-пользовательский интерфейс) > Адаптер + AsyncTask
-
BсохраняетсяsetRetainInstance(true)и обновляетсяAUI -
AэкземплярBсgetFragmentManager()
Но теперь мне нужно использовать фрагменты пользовательского интерфейса, поэтому я подумал использовать эту схему:
Активность
A> ФрагментB(UI) > ФрагментC(не-пользовательский интерфейс) > Адаптер + AsyncTask
-
CсохраняетсяsetRetainInstance(true)и обновляетсяBUI -
Bсоздать экземплярCс помощьюgetChildFragmentManager()
Но это кажется невозможным:
Caused by: java.lang.IllegalStateException:
Can't retain fragements that are nested in other fragments
Я попытался создать экземпляр C с getFragmentManager() вместо getChildFragmentManager(), но у меня были некоторые проблемы.
Какова наилучшая практика сохранения объектов и управления AsyncTasks во фрагменте?