Middle
Ինչու՞ ֆրագմենտի callback-ները տարբերվում են ակտիվության callback-ներից։
sobes.tech AI
Պատասխան AI-ից
Ֆրագմենտի կյանքի ցիկլը ավելի բարդ է և սերտորեն կապված է այն ակտիվության կյանքի ցիկլի հետ, որի մեջ նա ներառված է: Ֆրագմենտը կարող է գոյություն ունենալ անկախ ակտիվությունից, ավելացվել, հեռացվել, փոխարինվել կամ տեղադրվել հետադարձ(stack) հիշողության մեջ: Սա պահանջում է լրացուցիչ callback-ներ այս վիճակների կառավարելու համար:
Հիմնական տարբերությունները՝
- Կապ ակտիվության հետ: Ֆրագմենտը ունի callback-ներ, որոնք կապված են նրա ակտիվության հետ միանալու (
onAttach) և անջատելու (onDetach) հետ: Սա թույլ է տալիս ֆրագմենտին փոխազդել ակտիվության կոնտեքստի հետ: - View ստեղծում: Ֆրագմենտը ունի առանձին
onCreateViewcallback՝ իր View հիերարխիան ստեղծելու համար, մինչդեռ ակտիվությունը օգտագործում էsetContentView: Սա կապված է այն բանի հետ, որ ֆրագմենտը կարող է չունենալ UI: - View ոչնչացում: Ֆրագմենտը ունի
onDestroyView, որը կոչվում է, երբ View-ը ոչնչացվում է, բայց ֆրագմենտը կարող է շարունակել գոյություն ունենալ (օրինակ՝ հետադարձ(stack) հիշողության մեջ): Ակտիվությունը չունի ուղիղ համարժեք: - Կապ ակտիվության կյանքի ցիկլի հետ: Ֆրագմենտի կյանքի ցիկլը հետևում է ակտիվությանին, բայց ունի իր սեփական փուլերը յուրաքանչյուր ակտիվության փուլում: Օրինակ,
onStart()ֆրագմենտի կոչվում է ակտիվությանonStart()-ից հետո:
Ֆրագմենտի հիմնական callback-ները, որոնք բացակայում են ակտիվությունից:
onAttach()onCreateView()onViewCreated()onDestroyView()onDetach()
Այս ամենը թույլ է տալիս ավելի ճկուն կառավարել ֆրագմենտի վիճակը ակտիվության մեջ և մշակել նրա ավելացման, հեռացման և փոխարինման սցենարները: