demo执行顺序
10-22 20:38:10.281: I/System.out(26337): onAttach 附加到Activity
10-22 20:38:10.281: I/System.out(26337): onCreate Fragment即将创建10-22 20:38:10.281: I/System.out(26337): onCreateView 得到Fragment要显示的内容(一般会重写)
10-22 20:38:10.281: I/System.out(26337): onActivityCreated Activity创建完毕
10-22 20:38:10.281: I/System.out(26337): onStart 用户空间
10-22 20:38:10.281: I/System.out(26337): onResume 获取焦点
点击返回键
10-22 20:41:21.359: I/System.out(26337): onPause 失去焦点
10-22 20:41:21.906: I/System.out(26337): onStop 用户不可见
10-22 20:41:21.906: I/System.out(26337): onDestroyView 清除Fragment显示的view对象(一般会重写 在此中清除view对象 置空等操作)
10-22 20:41:21.914: I/System.out(26337): onDestroy 销毁Fragment
10-22 20:41:21.914: I/System.out(26337): onDetach 解除挂载
Fragment生命周期与Activity生命周期类似 多了如上加粗的几个生命周期
源代码与 博文
Android笔记 fragment入门 动态加载fragment demo+ 判断横竖屏
类似 Fragment1.Java修改如下
package com.example.a119fragmentstart;
import android.app.Activity;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class Fragment1 extends Fragment {
// 当Fragment被创建时调用 一般返回Fragment显示的对象
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
System.out.println("onCreateView");
// null代表返回独立的view对象
return inflater.inflate(R.layout.fragment1, null);
}
@Override
public void onAttach(Activity activity) {
// 附属
System.out.println("onAttach");
super.onAttach(activity);
}
@Override
public void onCreate(Bundle savedInstanceState) {
// 创建
System.out.println("onCreate");
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// 只有Activity启起来 Fragment才能创建
System.out.println("onActivityCreated");
super.onActivityCreated(savedInstanceState);
}
@Override
public void onStart() {
// 界面变成用户可见调用
System.out.println("onStart");
super.onStart();
}
@Override
public void onResume() {
// 获取焦点
System.out.println("onResume");
super.onResume();
}
@Override
public void onPause() {
// 失去焦点
System.out.println("onPause");
super.onPause();
}
@Override
public void onStop() {
// 界面变成用户不可见调用
System.out.println("onStop");
super.onStop();
}
@Override
public void onDestroyView() {
System.out.println("onDestroyView");
super.onDestroyView();
}
@Override
public void onDestroy() {
System.out.println("onDestroy");
super.onDestroy();
}
@Override
public void onDetach() {
// 取消附属
System.out.println("onDetach");
super.onDetach();
}
}