Я не совсем понимаю этот бизнес жизненного цикла фрагментов.
У меня есть довольно стандартный 3-страничный горизонтальный слайдер с макетом пейджера для раздела «просмотр деталей» моего приложения. Я запускаю свое приложение на средней странице из трех. My FragmentActivity устанавливает страницу на страницу 1.
mPager.setCurrentItem(1); //default to center page, current data view fragment
Я использовал FragmentStatePagerAdapter, потому что использование FragmentPagerAdapter иногда приводило к сбою моего приложения, например, при возврате из приостановленного состояния, и на данный момент это был самый быстрый способ обойти это. Кажется, работает, но я подозреваю, что причиной моей проблемы здесь может быть аспект состояния.
Итак, сначала я думал, что каждый фрагмент будет выполнять работу по получению данных из службы отдыха, а затем показывать их в списке, но я больше не уверен.
Я попытался запустить уникальную асинхронную задачу для получения данных в каждом из фрагментов событий onCreateView. Затем, прочитав больше о жизненном цикле фрагмента, я переключился на onCreate, заметив, что onCreateView вызывался довольно часто, что, в свою очередь, приводило к жадности приложения, которое слишком часто запрашивало данные по сети.
Переход на onCreate ничего не изменил. OnCreate по-прежнему вызывается так же, как и onCreateView для двух соседних фрагментов.
Странно то, что фрагмент, который я установил первым для отображения в Fragment Activity, вызывает onCreate только один раз.
Что-то здесь не так.
Прямо сейчас я думаю, что мне следует объявить активность родительского фрагмента и вызвать все асинхронные задачи для получения данных, которые мне нужно отображать во фрагментах. Задайте результаты асинхронных вызовов в объекте, принадлежащем активности родительского фрагмента, а затем заставьте фрагменты использовать объект, содержащийся в родительском элементе, для создания представления списка и т. д.
Но что, если асинхронные задачи, запущенные родительской активностью, не завершатся до вызова каждого фрагмента onCreateView, а объект, содержащийся в родительской активности, еще не готов.....
подписал, растерянный и расстроенный