当前位置:神舟问>百科问答>fragment的生命周期有哪些

fragment的生命周期有哪些

2024-04-08 11:08:32 编辑:join 浏览量:542

fragment的生命周期有哪些

fragment的特点:

fragment总是作为Activity界面的组成部分。fragment可国则一体以钓鱼getActivity()方需小补仅法获取它所在的Activity360问答,Activity可谈余成盾事父右格以调用FragmentManager的findFragmentById()或者findFragmentByTag()方法来获取Fragment。

在Activity运行过程中,可以调用FragmentManager的add()、remove()、replace()方法动态的添加、删除或者替价办程换Fragment。

一个Activity可以同时组合多个Fragment;反过来一个Fragment也可被多个Activity复用。

Fragment可以响沿绝识工王七正应自己的输入事件,并拥有自己的生命周期,但它们的生命周期直接被其所属的Activity的生命周期控制。

2

官方介绍原图

3

最简单的创建一个Fragm农孙始ent只需要实现三个方法:

onCreate():系统创建Fragment对象后回调该方法,实现代码只初始化想要在Fragment中保持的必要控件,当Fragme还快化祖若船经父款nt被暂停或者停止后可恢复。

onCreateView():当Fragment绘制界面组件时会回调该方法。该方法必须返回一个View,该View也就是该Fragment所显示的View。

onPause():当用户离开该Fragment时将会回调该方法。

4

生命周期全程介绍图

5

在工作中长需要把一个Activity改成fragment

从Activity到Fragment最大的变动在于,在Fragment里面的onCreate()函数内,是没有办法使用findViewById、setContentV析规宽知iew这些函数的。因为Fragment本身并没有提供这些方法。于是我们只能通过onCreateView和onViewCreated来实现对显示的控制。

6

而一些Fragment没有提供的属于Activity的函数我们可以通过活元路雨矛父系引促getActivity()得言到作为parent的Ac降毛取保图型育tivity来调用,因为Fragment只是作为片段提供给Activity使用的,所以很多功能的实现都被留在了Activity里面。

原先this的地方改为get都移演敌移连Activity音()

content的地方改为getActivity(小积度).getApplicationContext()

这样修改Activity成fragment一般不会有问题。

有可能的页面木讨名呼破比较复杂,自己对着生命周期看看相互间有什么方法可以替代或者自己写。

标签:fragment,生命周期

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/answer/319536.html
热门文章