• Android Fragment的生命周期说明

    与Activity类似
    服务器君一共花费 16.248 ms 进行了 4 次数据库查询,努力地为您提供了这个页面。
    广告很萌的

    要创建一个fragment,必须创建一个 Fragment 的子类 (或者继承自一个已存在的它的子类)。Fragment类的代码看起来很像 Activity 。它包含了和activity类似的回调方法,例如onCreate()、 onStart()、onPause()以及 onStop()。事实上,如果你准备将一个现成的Android应用转换到使用fragment,可能只需简单的将代码从你的activity的回调方法分别移动到你的fragment的回调方法即可。

    通常,应当至少实现如下的生命周期方法:

    • onCreate() 当创建fragment时,系统调用该方法。在实现代码中,应当初始化想要在fragment中保持的必要组件,当fragment被暂停或者停止后可以恢复,
    • onCreateView() fragment第一次绘制它的用户界面的时候,系统会调用此方法。为了绘制fragment的UI,此方法必须返回一个View,这个view是你的fragment布局的根view。如果fragment不提供UI,可以返回null。
    • onPause() 用户将要离开fragment时,系统调用这个方法作为第一个指示(然而它不总是意味着fragment将被销毁) 在当前用户会话结束之前,通常应当在这里提交任何应该持久化的变化(因为用户有可能不会返回)。

    一个Fragment的生命周期图如下:

    大多数应用应当为每一个fragment实现至少这3个方法,但是还有一些其他回调方法你也应当用来去处理fragment生命周期的各种阶段。

    首先第一次创建Fragment的时候,其实执行了这么多方法:

    onAttach -> onCreate -> onCreateView ->onViewCreated -> onActivityCreated -> onViewStateRestored -> onStart -> onResume
    

    举几个例子:

    • 按HOME键或者打开别的应用时:onPause -> onStop
    • 从桌面回来或者从别的应用回来:onStart -> onResume
    • 我在将Fragment和ViewPager一起使用的时候,还遇见过这种情况,通过ViewPager从一个Fragment切换到另外一个Fragment的时候执行的是:onPause -> onStop -> onDestroyView
    • 多了一个onDestroyView。再次切换回来执行:onCreateView -> onViewCreated -> onActivityCreated -> onViewStateRestored -> onStart -> onResume
    • 离开Activity时Fragment被彻底销毁执行的是:onPause -> onStop -> onDestoryView -> onDestory -> onDetach
更多 推荐条目

Welcome to NowaMagic Academy!

现代魔法 推荐于 2013-02-27 10:23   

本章最新发布
随机专题
  1. [Python程序设计] Django架构流程分析 7 个条目
  2. [软件工程与项目管理] 开始使用Git 3 个条目
  3. [Python程序设计] Django Web环境配置 2 个条目
  4. [PHP程序设计] httpd.conf设置相关 3 个条目
  5. [移动开发] Android与SQLite数据库 7 个条目
  6. [PHP程序设计] 声明式编程范式 12 个条目
  7. [移动开发] 简单了解Android Fragment 3 个条目
  8. [Python程序设计] Django 入门知识浅介 10 个条目
  9. [移动开发] 从代码角度去认识 Activity 4 个条目
  10. [PHP程序设计] htaccess 设置技巧 6 个条目
  11. [移动开发] Android 开发调试工具 ADB 3 个条目
  12. [软件工程与项目管理] 开始了解Git 5 个条目
窗口 -- [八点]