• Android Fragment的生命周期说明

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

    要创建一个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. [Linux操作系统] CentOS上使用EPEL Repository 2 个条目
  2. [软件工程与项目管理] 开始了解Git 5 个条目
  3. [PHP程序设计] PHP数组的遍历 7 个条目
  4. [PHP程序设计] 编程范式初探 3 个条目
  5. [移动开发] 使用support-v7 ActionBar前的那些坑 3 个条目
  6. [数据结构] 散列表(哈希表) 13 个条目
  7. [移动开发] Android View注入框架Butter Knife 3 个条目
  8. [PHP程序设计] PHP里的引用 5 个条目
  9. [移动开发] Android里的ContentValues 2 个条目
  10. [软件工程与项目管理] 浏览器初步介绍 8 个条目
  11. [数据库技术] 无限级分类数据表设计 4 个条目
  12. [软件工程与项目管理] 呈现器的布局与绘制 11 个条目
窗口 -- [八点]