Android Fragment

Fragment 概念

Fragment 表示应用界面中可重复的一部分,Fragment 定义和管理自己的布局,具有自己的生命周期,并且可以处理自己的输入事件。fragment 不能独立存在,而是必须由 Activity 或另一个 fragment 托管。fragment 的视图层次结构会成为宿主的视图层次结构的一部分,或附加到宿主的视图层次结构。

Fragment 生命周期

  • 运行状态:当一个 Fragment 所关联的 Activity 正处于运行状态时,该 Fragment 也处于运行状态。
  • 暂停状态:当一个 Activity 进入暂停状态时(由于另一个未占满屏幕的 Activity 被添加到了栈顶),与它相关联的 Fragment 就会进入暂停状态。
  • 停止状态:当一个 Activity 进入停止状态时,与它相关联的 Fragment 就会进入停止状态,或者通过调用 FragmentTransactionremove()replace() 方法将 FragmentActivity 中移除,但在事务提交之前调用了 addToBackStack() 方法,这时的 Fragment 也会进入停止状态。总的来说,进入停止状态的 Fragment 对用户来说是完全不可见的,有可能会被系统回收。
  • 销毁状态Fragment 总是依附于 Activity 而存在,因此当 Activity 被销毁时,与它相关联的 Fragment 就会进入销毁状态。或者通过调用 FragmentTransactionremove()replace() 方法将 FragmentActivity 中移除,但在事务提交之前并没有调用 addToBackStack() 方法,这时的 Fragment 也会进入销毁状态。

Activity 中有的回调方法在 Fragmen 中基本都有,Fragment 还提供了附加的回调方法。

  • onAttach():当 FragmentActivity 建立关联时调用。
  • onCreateView():为 Fragment 创建视图(加载布局)时调用。
  • onActivityCreated():确保与 Fragment 相关联的 Activity 已经创建完毕时调用。
  • onDestroyView():当与 Fragment 关联的视图被移除时调用。
  • onDetach():当 FragmentActivity 解除关联时调用。

常见的 Fragment 生命周期变化有以下几种:

  • Fragment A 第一次被加载到屏幕上:onAttach()onCreate()onCreateView()onActivityCreated()onStart()onResume() 会依次执行。
  • Fragment AFragment 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相关推荐

  1. Android Fragment 基本介绍

    Android Fragment 基本介绍 Android Fragment 基本介绍 Fragment Android是在Android 3.0 (API level 11)开始引入Fragment ...

  2. android Fragment 学习资料推荐

    为什么80%的码农都做不了架构师?>>>    android   Fragment 学习资料推荐:android大神 郭霖 http://blog.csdn.net/guolin_ ...

  3. 【转】基于Android Fragment功能的例子

    原文网址:http://blog.csdn.net/eyu8874521/article/details/8252216 通过最近空闲时候对Fragment的学习,尝试着写了一个小Demo,将在开发的 ...

  4. [转]Android fragment 重叠问题——通过hide,show方式导致的解决方法

    [转]Android fragment 重叠问题--通过hide,show方式导致的解决方法 参考文章: (1)[转]Android fragment 重叠问题--通过hide,show方式导致的解决 ...

  5. 【转】 Android Fragment 真正的完全解析(下)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37992017 上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和 ...

  6. Android Fragment 真正的完全解析(下)

    本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragm ...

  7. Android Fragment嵌套导致的bug

    原文链接 Android 多个Fragment嵌套导致的三大BUG Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误 http ...

  8. Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复

    Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...

  9. Android Fragment 简单实例

    Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...

  10. android 底部通知,Android Fragment实现底部通知栏

    Android Fragment实现底部通知栏,供大家参考,具体内容如下 截图如下: 1. 第一步先要创建fragment(动态注册) 然后将两个勾选取消掉(还有一种是自己手动创建) 会自动生成相对应 ...

最新文章

  1. 【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed
  2. typescript设置默认值_TypeScript 中神奇的 this 类型声明
  3. Ubuntu16.04+caffe+digits安装配置
  4. 本科、硕士、博士,究竟有何区别?
  5. cvi中c语言只保留两位小数,CVI编程常见问题与错误-2012.9
  6. html菜鸟教程 很多代码,HTML5 代码编写规范简介
  7. java画图工具_java画图板工具
  8. Rational rose安装步骤
  9. 太阳能光伏发电系统的组成
  10. 编程中怎么理解抽象的概念
  11. 警惕针对SQL的爆破攻击,入侵者会完全控制服务器,挖矿只是小目标
  12. ppt转.exe文件小技巧(超链接含视频)
  13. Python爬虫,爬取快看漫画每日更新模块
  14. 一个行程问题与对应的数列求和
  15. Calibre物理验证技术点滴 (中)
  16. 架构:网页二维码,App 扫码登录实现原理
  17. GPU硬件加速的那些优秀的资源总结-续
  18. iOS 12 越狱支持 Cydia
  19. 模板设计器Jaspersoft Studio、结合JasperReports输出报表
  20. JD Edwards 演进史

热门文章

  1. 贵翔阳光房的设计风格
  2. 计算机网络-学习交换机
  3. NTP校时服务器使用中的注意事项
  4. np.linspace
  5. 淘宝商家批量返款快捷模式
  6. PC机、笔记本连接投影仪或外接显示器的问题汇总
  7. 5张图教你学会Redis 持久化机制
  8. Postgre SQL ERROR:there is no unique or exclusion constraint matching the ON CONFLICT specification
  9. 鸿蒙系统与安卓苹果区别,小雷问答丨鸿蒙系统到底和苹果安卓有什么区别?
  10. 【微信小程序】-- WXML 模板语法 - 事件绑定 -- tap input (十)