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