您的位置:首页 > 移动开发 > Android开发

Android中的Fragment ——03(Fragment的生命周期)

2016-07-12 00:02 344 查看

完整的Fragment的生命周期是:

onAttach() --> onCreate() --> onCreateView() --> onActivityCreated() -->

onStart() --> onResume() --> onPause() --> onStop() -->

onDestroyView() --> onDestroy() --> onDetach()

如图:   Activity的生命周期 和 Fragment的生命周期 的对比



启动Fragment时,经过的生命周期函数:

onAttach() --> onCreate() --> onCreateView() --> onActivityCreated() --> onStart() --> onResume()

当锁屏时,Fragment消失,经过的生命周期函数:

onPause() --> onStop()

当屏幕解锁时,Fragment又出现,经过的生命周期函数是:

onStart() --> onResume()

当从一个Fragment上切换到另一个Fragment时的生命周期变化是:

第一个Fragmrnt经历的生命周期是 :

onPause() --> onStop() --> onDestroyView() --> onDestroy() --> onDetach() 

第二个Fragment经历的生命周期是:

onAttach() --> onCreate() --> onCreateView() --> onActivityCreated() --> onStart() --> onResume()

Fragment的生命周期中的各个函数的含义:

public class MyFragment extends Fragment {

//当Fragment被添加到Activity时,会调用该方法,并且该方法只会被调用一次
public void onAttach(Activity activity) {
super.onAttach(activity);
}

//在创建Fragment时,调用该方法,该方法也是只调用一次
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}

//每次创建时,绘制Fragment的组件时,调用该方法
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.layout_fragment, null);
return view;
}

//当Fragment所在的Activity启动完成后,调用该方法
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}

//
public void onStart() {
super.onStart();
}

@Override
public void onResume() {
super.onResume();
}

@Override
public void onPause() {
super.onPause();
}

@Override
public void onStop() {
super.onStop();
}

//销毁Fragment所包含的View组件时,调用
public void onDestroyView() {
super.onDestroyView();
}

//销毁Fragment时调用
public void onDestroy() {
super.onDestroy();
}

//当最后Fragment从Activity中删除时,会调用,并且该方法也是只会调用一次
public void onDetach() {
super.onDetach();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: