博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓学习之-Fragment-3
阅读量:6687 次
发布时间:2019-06-25

本文共 3295 字,大约阅读时间需要 10 分钟。

hot3.png

Fragment的生命周期大致是这个样子的:

package com.example.fragment03;import com.example.fragment03.R;import android.app.Activity;import android.app.Fragment;import android.os.Bundle;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class FirstFragment extends Fragment{	public static final String TAG = FirstFragment.class.getName();	public void log(String name)	{		Log.d("Method", name+" Has Be Called.");	}		/**	 * Fragment练级到父Activity的时候调用,在这里可以获取到Activity的应用	 */	@Override	public void onAttach(Activity activity)	{		log("onAttach");		super.onAttach(activity);	}	/**	 * 创建Fragment初始化的时候调用	 */	@Override	public void onCreate(Bundle savedInstanceState)	{		log("onCreate");		super.onCreate(savedInstanceState);	}	/**	 * 在这里将UI初始化并返回	 */	@Override	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)	{		log("onCreateView");		View view = inflater.inflate(R.layout.fragment_first,container,false);		return view;	}	/**	 * 只有当Fragment和Activity都被创建后,调用、	 * 当Fragment需要调用Activity里面的东西的时候,需要在这个方法里(之后)调用。	 */	@Override	public void onActivityCreated(Bundle savedInstanceState)	{		log("onActivityCreated");		super.onActivityCreated(savedInstanceState);	}	@Override	public void onStart()	{		log("onStart");		super.onStart();	}	@Override	public void onResume()	{		log("onResume");		super.onResume();	}	@Override	public void onPause()	{		log("onPause");		super.onPause();	}	@Override	public void onStop()	{		log("onStop");		super.onStop();	}	@Override	public void onDestroyView()	{		log("onDestroyView");		super.onDestroyView();	}	@Override	public void onDestroy()	{		log("onDestroy");		super.onDestroy();	}	@Override	public void onDetach()	{		log("onDetach");		super.onDetach();	}	}

运行结果如下:

新打开时候:03-18 13:19:28.991: D/Method(2509): onAttach Has Be Called.03-18 13:19:28.991: D/Method(2509): onCreate Has Be Called.03-18 13:19:28.991: D/Method(2509): onCreateView Has Be Called.03-18 13:19:28.995: D/Method(2509): onActivityCreated Has Be Called.03-18 13:19:28.995: D/Method(2509): onStart Has Be Called.03-18 13:19:28.995: D/Method(2509): onResume Has Be Called.//此时Fragment处于活动状态//这时候我按下切换至别的Fragment,打印日志如下:03-18 13:20:33.603: D/Method(2509): onPause Has Be Called.03-18 13:20:33.603: D/Method(2509): onStop Has Be Called.03-18 13:20:33.603: D/Method(2509): onDestroyView Has Be Called.//这时候我再将Fragment切换回来,打印日志如下:03-18 13:21:26.019: D/Method(2509): onCreateView Has Be Called.03-18 13:21:26.019: D/Method(2509): onActivityCreated Has Be Called.03-18 13:21:26.019: D/Method(2509): onStart Has Be Called.03-18 13:21:26.019: D/Method(2509): onResume Has Be Called.//这时候我按下Home键,将应用挂至后台,打印日志如下03-18 13:22:21.899: D/Method(2509): onPause Has Be Called.03-18 13:22:22.447: D/Method(2509): onStop Has Be Called.//重新将应用切换至前台打印日志如下:03-18 13:23:13.235: D/Method(2509): onStart Has Be Called.03-18 13:23:13.235: D/Method(2509): onResume Has Be Called.//我按下返回键退出应用:03-18 13:25:41.923: D/Method(2866): onPause Has Be Called.03-18 13:25:42.539: D/Method(2866): onStop Has Be Called.03-18 13:25:42.539: D/Method(2866): onDestroyView Has Be Called.03-18 13:25:42.539: D/Method(2866): onDestroy Has Be Called.03-18 13:25:42.539: D/Method(2866): onDetach Has Be Called.

转载于:https://my.oschina.net/xiaolei123/blog/641283

你可能感兴趣的文章
WCF分布式开发常见错误(23):the fact that the server certificate isn't configured with HTTP.SYS...
查看>>
第一个Indigo Service
查看>>
《Pro ASP.NET MVC 3 Framework》学习笔记之三十二 【无入侵的Ajax】
查看>>
监听启动报TNS-12537、TNS-12560错误
查看>>
XXX管理平台系统——项目教训
查看>>
会写代码的项目经理
查看>>
通过Lua解释器来扩展丰富nginx功能,实现复杂业务的处理
查看>>
禁用WPF窗体的最大化按钮
查看>>
玩转React样式
查看>>
TinyHttpd中sockaddr与struct sockaddr_in的区别
查看>>
嘉峪关市与甘肃省广电网络公司对接智慧城市建设项目
查看>>
PostgreSQL 收缩膨胀表或索引 - pg_squeeze or pg_repack
查看>>
代码实现从某个表中查询数据插入到另一个表中
查看>>
提高代码质量-工具篇
查看>>
require() 源码解读
查看>>
kvm虚拟化学习笔记(十六)之kvm虚拟化存储池配置
查看>>
★Kali信息收集~ 5.The Harvester:邮箱挖掘器
查看>>
普通web项目转化为maven web项目
查看>>
android 内部文件读取
查看>>
磁带机Media is unrecognized
查看>>