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(动态注册) 然后将两个勾选取消掉(还有一种是自己手动创建) 会自动生成相对应 ...
最新文章
- ORACLE限制IP访问数据库
- VoLTE前世今生...说清楚VoIP、VoLTE、CSFB、VoWiFi、SIP、IMS那些事
- 数据结构C语言实现课后习题答案第6-9章
- kernel 3.10内核源码分析--内核栈及堆栈切换
- python的格式_python 代码格式
- php retoken,laravel 5.5 关闭token的3种实现方式
- 2020-06-24 电子书网站http://www.itjiaocheng.com/mianfei/
- SVN服务器搭建--Subversio与TortoiseSVN的配置安装(Windows)
- CentOS 7 搭建 L2TP/Ipsec
- 简单的限流保护电路图大全(六款简单的限流保护电路设计原理图详解)
- 原研哉:设计是什么?
- 程序“[4176] char.exe: 本机”已退出,返回值为 0 (0x0)
- python的requests爬取Uniprot中蛋白序列和N-糖基化位点
- 根号2计算机代码,根号 2 的程序计算方法
- 华为云的下一程:与中国SaaS软件开发企业一起“乘风破浪”
- 蓝海卓越三层漫游解决方案
- iOS初级开发工程师进阶之路
- 【EasyExcel】公司文件加密软件导致 Convert excel format exception.You can try specifying the ‘excelType‘ yourself
- Java实现点分十进制IP地址转换为整数
- RDD编程初级实践-课程论文
热门文章
- 时间源服务器(NTP授时服务器)应用安防监控系统
- java 登录过滤_Java 过滤器实现(登录) + 拦截器(两种方法)
- php 截图插件下载,GoFullPage插件下载
- DNS(Bind9) Anycast 数据中心部署 最终版
- 以考代评高级职称||信息系统项目管理师一贴打尽,你想知道的都在这
- 景鲲:百度愿开放合作 携手领袖企业共降AI门槛
- 如何在Java中获得Alexa排名
- 投资研究——中信建投证券研究报告
- touches,targetTouches,changedTouches
- java对list集合进行分页(Stream流)