• Android Fragment的生命周期说明

    与Activity类似
    服务器君一共花费 42.976 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. [JavaScript程序设计] Web实时通信技术名词解析 5 个条目
  2. [Python程序设计] urls.py设置技巧 8 个条目
  3. [Python程序设计] Django模板系统 11 个条目
  4. [运维管理] 路由器与交换机 4 个条目
  5. [移动开发] Android 网络通信框架Volley 1 个条目
  6. [移动开发] Android加载器Loaders 5 个条目
  7. [移动开发] Content Provider内容提供者 3 个条目
  8. [Linux操作系统] 基本 Linux Shell 命令 2 个条目
  9. [JavaScript程序设计] 关于HTTP Keep-Alive 6 个条目
  10. [移动开发] 使用support-v7 ActionBar前的那些坑 3 个条目
  11. [移动开发] ListView 使用相关问题集 1 个条目
  12. [智力开发与知识管理] 整体性学习步骤 9 个条目
窗口 -- [协会]