关闭

Fragment和ViewPager组合用法小结

612人阅读 评论(0) 收藏 举报

当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)
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5039次
    • 积分:124
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类