Android Fragment★★

1.Fragmentfragment译为“碎片”,是Android 3.0(API 11)提出的,最开始是为了适配大屏的平板。Fragment看起来和Activity一样,是一个用户界面。可以结合多个Fragments到一个activity中,来构建一个有多方面功能的UI,还可以重用同一个Fragment在多个activities中。Fragment可以当成是activity的一个组件,每个Fragment有单独的生命周期,可以在activity运行时进行添加和移除Fragment。因此,相比较于a
摘要由CSDN通过智能技术生成

1.Fragment

fragment译为“碎片”,是Android 3.0(API 11)提出的,最开始是为了适配大屏的平板。

Fragment看起来和Activity一样,是一个用户界面。可以结合多个Fragment到一个activity中来构建一个有多方面功能的UI,还可以重用同一个Fragment在多个activity中。Fragment可以当成是activity的一个组件,每个Fragment有单独的生命周期,可以在activity运行时进行添加和移除。因此,相比较于activity,Fragment更加轻量级,更加灵活。

一个Fragment总是被植入到一个activity中 ,并且它的生命周期受该activity直接影响,比如activity处于暂停,则其中的Fragment都暂停;activity销毁,则所有Fragment都销毁。但是,当一个activity运行时,你可以独立的操作每一个Fragment,比如添加和删除它们。进行类似的操作时,可以将Fragment添加到被activity管理的后退栈中,这样用户可以通过点击返回按钮来返回之前打开的Fragment。

Fragment可以作为activity的一部分添加到布局文件中,通过声明元素作为ViewGroup的一部分。也可以将Fragment作为一个没有自己UI的不可见的activity的工人。

总结一下:

①Fragment依赖于Activity,不能独立存在。

②一个Activity里可以有多个Fragment。

③一个Fragment可以被多个Activity重用。

③Fragment有自己的生命周期,并能接收输入事件。

④可以在Activity运行时动态地添加或删除Fragment。

 

2.Fragment生命周期

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2f6Iqz6Iqz,size_20,color_FFFFFF,t_70,g_se,x_16

 常见的周期流程:

①Activity加载Fragment的时候,依次调用:onAttach() -> onCreate() -> onCreateView() -> onActivityCreated() -> onStart() ->onResume()

②当做出一个悬浮的对话框风格的Activity或者其他,就是让Fragment所在的Activity可见,但不获得焦点:onPause()

③当对话框关闭,Activity又获得了焦点: onResume()

当替换Fragment,并调用addToBackStack()将它添加到后退栈中:onPause() -> onStop() -> onDestoryView() 。注意,此时的Fragment还没有被销毁。

⑤当按下键盘的回退键,Fragment会再次显示出来:onCreateView() -> onActivityCreated() -> onStart() -> onResume()

⑥如果替换后,在事务commit之

  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值