Fragment生命周期:
onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->
onDestroyView->onDestroy->onDetach
onAttach: 将fragment对象和activity关联。(高版本已弃用,为兼容低版本,高版本适用) 当此方法被调用后绑定成功
private OnFragmentInteractionListener mListener;
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString() + " must implement OnFragmentInteractionListener");
}
}
@Override
public void onDetach() {
super.onDetach();
mListener = null;
}
public interface OnFragmentInteractionListener {
void onFragmentInteraction(Uri uri);
}
这样可以避免Fragment获取getActivity,有时为null;
Fragment在Activity中的生命周期
1、打开界面和关闭界面:
(Fragment)onCreate->(Fragment)onCreteView->(Activity)onCreate->(Fragment)onActivityCreated->(Activity)onStart
->(Fragment)onStart->(Actvity)onResume->(Fragment)onResume->(Fragment)onPause->(Activity)onPause
->(Fragment)onStop->(Activity)onStop->(Fragment)onDestroyView->(Fragment)onDestroy->(Fragment)onDetach
->(Activity)onDestroy
2、按下主屏幕键: (Fragment)onPause->(Activity)onPause->(Fragment)onStop->(Activity)onStop
3、重新打开界面: (Activity)onRestart->(Activity)onStart-(Fragment)onStart->(Activity)onResume->(Fragment)onResume