前情提要(Previously)

本系列将使用 Android Studio 将《第一行代码》(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android Studio 作为开发 IDE 的同学开路。

PS:其实我就是现学现卖,希望我能坚持刷完。

在前面刚学习了Fragment,这次来了解一下她的生命周期。

系列目录在此:

Fragment 的生命周期

先来看一下 Fragment 的生命周期图解吧。

与 Activity 的 关系

Fragment 必须是依存于 Activity 而存在的,因此 Activity 的生命周期会直接影响到 Fragment 的生命周期。Android 官网这张图很好的说明了两者生命周期的关系,如下

跟 Activity 比较,多了下面几个回调函数:

onAttach(),当 Fragment 和 Activity 建立关联时调用。

onCreateView(),当为 Fragment 创建视图时调用。

onActivityCreated(),与 Fragment 关联的 Activity 已经创建完毕时调用。

onDEstroyView(),当与 Fragment 关联的视图被移除时调用。

onDetach(),当 Fragment 和 Activity 接触关联是调用。

体验 Fragment 的生命周期

打开上一篇 Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础 中的 FragmentTest 项目,修改 RightFragment 中的代码,重写每一个回调方法在里面加上输出日志,代码如下:

public class RightFragment extends Fragment {

public static final String TAG = "RightFragment";

@Override

public void onAttach(Activity activity) {

super.onAttach(activity);

Log.d(TAG, "onAttach");

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Log.d(TAG, "onCreate");

}

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

Log.d(TAG, "onCreateView");

View view = inflater.inflate(R.layout.right_fragment, container, false);

return view;

}

@Override

public void onActivityCreated(Bundle savedInstanceState) {

super.onActivityCreated(savedInstanceState);

Log.d(TAG, "onActivityCreated");

}

@Override

public void onStart() {

super.onStart();

Log.d(TAG, "onStart");

}

@Override

public void onResume() {

super.onResume();

Log.d(TAG, "onResume");

}

@Override

public void onPause() {

super.onPause();

Log.d(TAG, "onPause");

}

@Override

public void onStop() {

super.onStop();

Log.d(TAG, "onStop");

}

@Override

public void onDestroyView() {

super.onDestroyView();

Log.d(TAG, "onDestroyView");

}

@Override

public void onDestroy() {

super.onDestroy();

Log.d(TAG, "onDestroy");

}

@Override

public void onDetach() {

super.onDetach();

Log.d(TAG, "onDetach");

}

}

运行,RightFragment 第一次加载,查看 Logcat 中的日志,如下图

点击 LeftFragment 中的 Button,AnotherRightFragment 替换 RightFragment 出现,查看日志,如下图

按 Back 键,RightFragment 出现,查看日志,如下图

再按 Back 键,程序退出,查看日志,如下图

OK 了,我们对 Fragment 的生命周期已经了解的差不多,更深刻的理解以后用到的时候再说了。

其它(Miscellaneous)

尽管我试图在本文中尽量完整的进行描述,但受限于篇幅和我的个人水平,本文难免有所遗漏,欢迎在评论中指出。

如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!

关于作者(About Me)

本文谢绝转载,如需转载需征得作者本人同意,谢谢。

Android Studio 单刷《第一行代码》系列目录

前言(Prologue) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld

前言(Prologue) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Android ...

Android Studio 单刷《第一行代码》系列 07 —— Broadcast 广播

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 04 —— Activity 相关

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

Android Studio 单刷《第一行代码》系列 03 —— Activity 基础

前情提要(Previously) 本系列将使用 Android Studio 将(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

【java学习系列】 Android第一本书《第一行代码》

开始Java的学习,从Android,开始吧.开始阅读和调试demo例子. 下面是 的思维导图:

随机推荐

【10-25】intelliji ide 学习笔记

快捷键 /** alter+enter 导包,异常处理等提示 psvm 快速main函数 sout 快速sysout语句 fi 快速for循环 ctrl+d 重复一行 Ctrl+X 删除行 Ctrl+ ...

Adapter适配器

1.概念 *连接后端数据和前端显示的适配器接口 *数据和UI之间的重要连接   2. ArrayAdapter  ArrayAdapter构造器如下: ArrayAdapter(Context con ...

linux free 命令

命 令: free 功能说明:显示内存状态. 语 法: free [-bkmotV][-s ] 补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共 ...

CodeForces 321A

A. Ciel and Robot time limit per test 1 second memory limit per test 256 megabytes input standard in ...

给windows 7安装文件添加USB3.0驱动

给Air安装win7进入语言与区域选择之后,发现键盘触摸板都失灵.   原因:新款的 Macbook Air 2013 因为使用了 USB3.0 端口键盘和触摸板设备,所以在安装 Windows 7 ...

Shell符号展开

字符 展开 * 这个 “*” 字符意味着匹配文件名中的任意字符 shell 把 “*” 展开成了另外的东西 ,在 echo 命令被执行前. ~家目录 算术表达式展开 算术表达式展开使用这种格式: $( ...

testlink 下载地址

testlink 下载地址 https://sourceforge.net/projects/testlink/files/TestLink%201.9/

centOS7 mini配置linux服务器(三) 配置防火墙以及IPtables切换

一.firewall介绍 CentOS 7中防火墙是一个非常的强大的功能,在CentOS 6.5中在iptables防火墙中进行了升级了. 1.官方介绍 The dynamic firewall da ...

dotnet core使用开源组件FastHttpApi进行web应用开发(转)

FastHttpApi相对于asp.net mvc来说有着更轻量和性能上的优势,性能上面就不在这里介绍了(具体可查看 https://github.com/IKende/FastHttpApi). ...

python常见排序算法解析

python——常见排序算法解析   算法是程序员的灵魂. 下面的博文是我整理的感觉还不错的算法实现 原理的理解是最重要的,我会常回来看看,并坚持每天刷leetcode 本篇主要实现九(八)大排序算法 ...

android studio生命周期代码,Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期...相关推荐

  1. Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  2. Android Studio 单刷《第一行代码》系列目录

    本文转载自: http://www.cnblogs.com/debuglife/p/4355687.html 作者:DebugLife 转载请注明该声明. 前言(Prologue) 本系列将使用 An ...

  3. 《第一行代码》12.2学习中遇到的一些问题and心得

    1.书中P411中的activity_main.xml中的Toolbar不应该使用<android.support.v7.widget.Toolbar/> 应该使用<androidx ...

  4. Java之第一行代码

    目录 Java第一行代码 1. 什么是计算机 1.1 生活中你关注的计算机 1.2 Java开发者所关注的计算机 2. 计算机操作方式 2.1 操作系统 2.2 操作方式 2.3 DOS命令[了解] ...

  5. Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  6. Android Studio 单刷《第一行代码》系列 04 —— Activity 相关

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  7. Android Studio 单刷《第一行代码》系列 07 —— Broadcast 广播

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  8. Android Studio 单刷《第一行代码》系列 03 —— Activity 基础

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

  9. Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat

    前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...

最新文章

  1. 2星|《快公司》2018年2-3期:商业人物访谈集
  2. 数据中心推动的10大企业存储新趋势
  3. display(block,inline,none),visibility(visible,hidden)之间的关系及区别(不同)
  4. 安装 linux kernel 3.12
  5. 在Windows上运行单节点的Cassandra
  6. art-template辅助函数和子模板
  7. 的引用_左值、右值、左值引用、右值引用
  8. MyEclipse中Hibernate+C3P0连接池配置
  9. jq判断是否为整数_jquery怎么判断是否是数字?
  10. 工作中使用到的单词(软件开发)_2022-02-26_备份
  11. 虚树(bzoj 3572: [Hnoi2014]世界树)
  12. XP母盘制作详细教程(完全版)(转)
  13. Tcl学习2——Tcl语言语法
  14. 支持向量机(SVM) VS 支持向量回归机(SVR)
  15. 高中计算机网络说课,高一信息技术说课稿
  16. win10下微软office2010卸载
  17. 在electron应用中检测网络
  18. Android 点击按钮切换图片
  19. 一文彻底读懂三极管的工作原理,最通俗的解释,看完就明白了!
  20. 如何开启APP2SD功能

热门文章

  1. muduo网络库——Channel
  2. Python中str()、repr()、``的区别
  3. 如何用Python提高工作的核心竞争力?
  4. 【天赢金创】Crystal 语言
  5. 互联网的粉丝经济-小米崛起
  6. 甘肃临洮玉琢冰雕造“梦幻仙境”
  7. Axure设计的界面如何生成HTML文件
  8. 【linux kernel】linux内核如何挂载根文件系统
  9. Swift3 隐藏手机号中间四位
  10. 安川机器人便捷功能 直接打开(一)