今天在Android Studio中试了下Fragment的生命周期,代码如下:
package com.example.lg.fragmenttest;
import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Created by LG on 2016/4/20 0020.
*/
public class RightFragment extends Fragment{
public static final String TAG="RightFragment";
@Override
public void onAttach(Context context) {
super.onAttach(context);
Log.d(TAG,"onAttach");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"onCreate");
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Log.d(TAG,"onCreatView");
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: onCreate
RightFragment: onCreatView
RightFragment: onActivityCreated
RightFragment: onstart
RightFragment: onResume
当 RightFragment 第一次被加载到屏幕上时,会依次执行
onCreate()、onCreateView()、onActivityCreated()、onStart()和 onResume()方法。(此处没有执行onAttach()方法)
按下 Back 键退出程序,输出如下:
RightFragment: onPause
RightFragment: onStop
RightFragment: onDestroyView
RightFragment: onDestroy
RightFragment: onDetach