Android | Fragment
Android Fragment
Fragment 概念
Fragment
表示应用界面中可重复的一部分,Fragment
定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。fragment
不能独立存在,而是必须由 Activity
或另一个 fragment
托管。fragment
的视图层次结构会成为宿主的视图层次结构的一部分,或附加到宿主的视图层次结构。
Fragment 生命周期
- 运行状态:当一个
Fragment
所关联的Activity
正处于运行状态时,该Fragment
也处于运行状态。 - 暂停状态:当一个
Activity
进入暂停状态时(由于另一个未占满屏幕的Activity
被添加到了栈顶),与它相关联的Fragment
就会进入暂停状态。 - 停止状态:当一个
Activity
进入停止状态时,与它相关联的Fragment
就会进入停止状态,或者通过调用FragmentTransaction
的remove()
、replace()
方法将Fragment
从Activity
中移除,但在事务提交之前调用了addToBackStack()
方法,这时的Fragment
也会进入停止状态。总的来说,进入停止状态的Fragment
对用户来说是完全不可见的,有可能会被系统回收。 - 销毁状态:
Fragment
总是依附于Activity
而存在,因此当Activity
被销毁时,与它相关联的Fragment
就会进入销毁状态。或者通过调用FragmentTransaction
的remove()
、replace()
方法将Fragment
从Activity
中移除,但在事务提交之前并没有调用addToBackStack()
方法,这时的Fragment
也会进入销毁状态。
Activity
中有的回调方法在 Fragmen
中基本都有,Fragment
还提供了附加的回调方法。
onAttach()
:当Fragment
和Activity
建立关联时调用。onCreateView()
:为Fragment
创建视图(加载布局)时调用。onActivityCreated()
:确保与Fragment
相关联的Activity
已经创建完毕时调用。onDestroyView()
:当与Fragment
关联的视图被移除时调用。onDetach()
:当Fragment
和Activity
解除关联时调用。
常见的 Fragment
生命周期变化有以下几种:
- 当
Fragment A
第一次被加载到屏幕上:onAttach()
、onCreate()
、onCreateView()
、onActivityCreated()
、onStart()
和onResume()
会依次执行。 - 当
Fragment A
被Fragment B
替代,Fragment A
的变化情况:onPause()
、onStop()
和onDestroyView()
方法会得到执行,如果没有调用addToBackStack()
方法,会进入销毁状态,onDestroy()
和onDetach()
方法就会得到执行。 - 当上述情况改为在
Fragment A
没有被销毁的时按下BACK
,让Fragment A
重新回到屏幕:onCreateView()
、onActivityCreated()
、onStart()
和onResume()
会依次执行。 - 退出程序时:
onPause()
、onStop()
、onDestroyView()
、onDestroy()
和onDetach()
方法会依次执行。
Android | Fragment相关推荐
- Android Fragment 基本介绍
Android Fragment 基本介绍 Android Fragment 基本介绍 Fragment Android是在Android 3.0 (API level 11)开始引入Fragment ...
- android Fragment 学习资料推荐
为什么80%的码农都做不了架构师?>>> android Fragment 学习资料推荐:android大神 郭霖 http://blog.csdn.net/guolin_ ...
- 【转】基于Android Fragment功能的例子
原文网址:http://blog.csdn.net/eyu8874521/article/details/8252216 通过最近空闲时候对Fragment的学习,尝试着写了一个小Demo,将在开发的 ...
- [转]Android fragment 重叠问题——通过hide,show方式导致的解决方法
[转]Android fragment 重叠问题--通过hide,show方式导致的解决方法 参考文章: (1)[转]Android fragment 重叠问题--通过hide,show方式导致的解决 ...
- 【转】 Android Fragment 真正的完全解析(下)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...
- Android Fragment 真正的完全解析(下)
本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragm ...
- Android Fragment嵌套导致的bug
原文链接 Android 多个Fragment嵌套导致的三大BUG Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误 http ...
- Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...
- Android Fragment 简单实例
Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...
- android 底部通知,Android Fragment实现底部通知栏
Android Fragment实现底部通知栏,供大家参考,具体内容如下 截图如下: 1. 第一步先要创建fragment(动态注册) 然后将两个勾选取消掉(还有一种是自己手动创建) 会自动生成相对应 ...
最新文章
- 【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed
- typescript设置默认值_TypeScript 中神奇的 this 类型声明
- Ubuntu16.04+caffe+digits安装配置
- 本科、硕士、博士,究竟有何区别?
- cvi中c语言只保留两位小数,CVI编程常见问题与错误-2012.9
- html菜鸟教程 很多代码,HTML5 代码编写规范简介
- java画图工具_java画图板工具
- Rational rose安装步骤
- 太阳能光伏发电系统的组成
- 编程中怎么理解抽象的概念
- 警惕针对SQL的爆破攻击,入侵者会完全控制服务器,挖矿只是小目标
- ppt转.exe文件小技巧(超链接含视频)
- Python爬虫,爬取快看漫画每日更新模块
- 一个行程问题与对应的数列求和
- Calibre物理验证技术点滴 (中)
- 架构:网页二维码,App 扫码登录实现原理
- GPU硬件加速的那些优秀的资源总结-续
- iOS 12 越狱支持 Cydia
- 模板设计器Jaspersoft Studio、结合JasperReports输出报表
- JD Edwards 演进史
热门文章
- 贵翔阳光房的设计风格
- 计算机网络-学习交换机
- NTP校时服务器使用中的注意事项
- np.linspace
- 淘宝商家批量返款快捷模式
- PC机、笔记本连接投影仪或外接显示器的问题汇总
- 5张图教你学会Redis 持久化机制
- Postgre SQL ERROR:there is no unique or exclusion constraint matching the ON CONFLICT specification
- 鸿蒙系统与安卓苹果区别,小雷问答丨鸿蒙系统到底和苹果安卓有什么区别?
- 【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap input (十)