Android. Программирование для профессионалов. 4-е издание


Рис. 8.14. MainActivity — хост представления CrimeFragment FragmentManager и жизненный цикл фрагмента



Download 21,53 Mb.
Pdf ko'rish
bet137/485
Sana13.07.2022
Hajmi21,53 Mb.
#787165
1   ...   133   134   135   136   137   138   139   140   ...   485
Bog'liq
Android Programmirovanie dlya professionalov 4-e izdanie 2020 Fillips Styuart Marsikano Gardner

Рис. 8.14. MainActivity — хост представления CrimeFragment
FragmentManager и жизненный цикл фрагмента
На рис. 8.15 показан жизненный цикл фрагмента. Он
аналогичен жизненному циклу activity: у него есть состояния
остановки, паузы и выполнения, а также функции, которые
можно переопределить, чтобы сделать что-то в критических
точках, многие из которых соответствуют функциям
жизненного цикла activity.


Рис. 8.15. Жизненный цикл фрагмента
Тут важна последовательность. Поскольку фрагмент
работает от имени activity, его состояние должно отражать
состояние activity. Таким образом, для работы с ним
необходимы соответствующие функции жизненного цикла.
Важное различие между жизненным циклом фрагмента и
жизненным циклом activity заключается в том, что функции
жизненного цикла фрагмента вызываются не операционной
системой, а диспетчером хостинга, выполняющим эти
функции. Операционная система ничего не знает о фрагментах,
которые она использует для управления. Фрагменты — это
внутренняя кухня activity. Функции 
OnAttach(Context?)
,
onCreate(Bundle?)

onCreateView(...)
и


onViewCreated(...)
вызываются при добавлении фрагмента
во 
FragmentManager
.
Функция 
onActivityCreated(Bundle)
вызывается после
выполнения функции 
onCreate(Bundle?)
хост-activity. Мы
добавляем 
CrimeFragment
в
MainActivity.onCreate(Bundle?)
, так что эта функция
будет вызываться после добавления фрагмента.
Что произойдет, если добавить фрагмент в то время, когда
activity уже находится в состоянии остановки, приостановки
или выполнения? В этом случае 
FragmentManager
немедленно
проводит фрагмент через все действия, необходимые для его
согласования с состоянием activity. Например, при добавлении
фрагмента в activity, уже находящуюся в состоянии
выполнения, фрагмент получит вызовы 
onAttach(Context)
,
onCreate(Bundle?)

onCreateView(...)
,
onViewCreated(…)

onActivityCreated(Bundle)
,
onStart()
и затем 
onResume()
.
После того как состояние фрагмента будет согласовано с
состоянием activity, объект 
FragmentManager
хост-activity
будет вызывать дальнейшие функции жизненного цикла
приблизительно одновременно с получением соответствующих
вызовов от ОС для синхронизации состояния фрагмента с
состоянием activity.

Download 21,53 Mb.

Do'stlaringiz bilan baham:
1   ...   133   134   135   136   137   138   139   140   ...   485




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish