Fragment和ViewPager组合用法小结

本文详细解析了当ViewPager包含五个Fragment时,这些Fragment在不同场景下的生命周期变化规律。具体包括初始加载、滑动切换等操作中各Fragment所经历的状态转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当ViewPage有5个界面时(5个Fragment):


1)程序启动,ViewPage默认会先加载前两个界面,调用生命周期Fragment1 onCreate-->onCreateView-->onCreateActivithy-->onStart-->onResume,

Fragment2 onCreate-->onCreateView-->onCreateActivithy-->onStart-->onResume;


2)滑动到第二个界面,会加载第三个界面Fragment3 onCreate-->onCreateView-->onCreateActivithy-->onStart-->onResume;


3) 滑动到第三个界面,会加载第四个界面Fragment4 onCreate-->onCreateView-->onCreateActivithy-->onStart-->onResume, 第一个界面Fragment1 onPause-->onStop;


4)滑动到第四个界面,会加载第五个界面Fragment5 onCreate-->onCreateView-->onCreateActivithy-->onStart-->onResume, 第二个界面Fragment2 onPause-->onStop;


5)滑动到第五个界面, 第三个界面Fragment3 onPause-->onStop;

6)滑回来的时候,此时Fragment的生命周期不再从onCreate开始,从五到四,调用第三个界面的生面周期Fragment3 onCreateView-->onCreateActivithy-->onStart-->onResume;


7)从四到三,生命周期调用第二个界面Fragment2 onCreateView-->onCreateActivithy-->(第五个界面Fragment5 onPause-->onStop)onStart-->onResume;


8)从三到二,生命周期调用第一个界面Fragment1 onCreateView-->onCreateActivithy-->(第四个界面Fragment4 onPause-->onStop)onStart-->onResume;


9)从二到一,第三个界面Fragment3 onPause-->onStop.

总结:ViewPage在加载界面时默认会保持当前和相邻界面为被创建和onResume状态,在滑动时会使非相邻界面进入停止(onPause-->onStop)状态,同时是新的相邻界面被创建(onCreate-->onCreateView-->onCreateActivithy-->onStart-->onResume)或被唤醒(onCreateView-->onCreateActivithy-->onStart-->onResume)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值