Android开发中,fragment一般什么时候用
答案:2 悬赏:10 手机版
解决时间 2021-01-31 05:32
- 提问者网友:鼻尖触碰
- 2021-01-30 10:12
Android开发中,fragment一般什么时候用
最佳答案
- 五星知识达人网友:洒脱疯子
- 2021-01-30 11:48
当你有一个activity,想让这个activity根据事件响应可以对应不同的界面时,就可以创建几个fragment,将fragment绑定到该activity
全部回答
- 1楼网友:西风乍起
- 2021-01-30 13:17
当我们在一个viewpager放一个fragment,当切换viewpager当中的viewpager时,fragment的打印输出如下:
1.d:\users\zhongxw>adb logcat -s debug
--------- beginning of /dev/log/main
--------- beginning of /dev/log/system
v/debug (17567): onattach
v/debug (17567): oncreate
v/debug (17567): oncreateview
v/debug (17567): onactivitycreated
v/debug (17567): onresume
切换到别fragment的时打印出:
v/debug (17567): onpause
v/debug (17567): ondestroyview
注意执行了ondestroyview进行了销毁,而下面的oncreateview也是进行对应的
重新愀复时执行:
v/debug (17567): oncreateview
v/debug (17567): onactivitycreated
v/debug (17567): onresume
再退出:
v/debug (17567): onpause
v/debug (17567): ondestroyview
v/debug (17567): ondestroy
v/debug (17567): ondetach
2.如果是打开退出两种状态的切换:
打开:
v/debug (17567): oncreate
v/debug (17567): oncreateview
v/debug (17567): onactivitycreated
v/debug (17567): onresume
退出是:
v/debug (17567): onpause
v/debug (17567): ondestroyview
v/debug (17567): ondestroy
v/debug (17567): ondetach
3.**我们看到都没有执行onpause函数,onpause()多长发生如果点击fragment中的内容时或者这时弹出别的app或者说是activity,跳转到一个新界面,把当前的fragment盖住了,生命周期通常是这样的:
d:\users\zhongxw>adb logcat -s debug
--------- beginning of /dev/log/system
--------- beginning of /dev/log/main
v/debug (17567): onpause
v/debug (17567): onresume
跳进入是onpause(),恢复时是onresume()
4.如果我们fragment已经展示了,我们按home键进入后台,再进入前台,则执行:
a。进入后台
v/debug (22269): onpause
b,恢复前台
v/debug (22269): onresume
我们看到这里前没有执行ondestroy(),没有销毁,所以也没有执行oncreateview()进行重绘。跟前面3中所描述的切换到别的activity中是一样的效果。
这里我没有打印onstart()跟onstop()函数,,因为onresume以前一定会执行onstart(),在onpause后也会执行onstop()这个函数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯