我所理解的activity与fragment(1)

我所理解的activity与fragment(1)

虽说,看了书,以及网上的相关博客,对activity以及fragment的生命周期算是理解了,activity的几个方法,
onCreate(),onStart(),onResume(),onPause(),onStop(),onDestory();
fragment的
onAttach(),onCreate(),onCreateView(),onStart(),onResume(),onPause(),onStop(),onDestoryView(),onDestory(),onDetach()。如果放在一起比较的话,说实话,还是会有点儿混淆的。

通过最近一段时间的学习,讲解一下,fragment与activity之间的关系。以检验个人的理解。

demo说明

activity代码以及布局文件

@Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "activity onCreate");
    }

activity_main的布局文件内容是两个fragment

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:baselineAligned="false" android:divider="?android:attr/dividerHorizontal" android:orientation="horizontal" android:showDividers="middle" >
    <fragment  android:id="@+id/item_list" android:name="com.angeldevil.eventbusdemo.ItemListFragment" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="1" />
    <fragment  android:id="@+id/item_detail_container" android:name="com.angeldevil.eventbusdemo.ItemDetailFragment" android:layout_width="0dip" android:layout_height="match_parent" android:layout_weight="2" />
</LinearLayout>

activity oncreate()方法创建过程解释

主要讲解activity方法 onCreate()方法的执行过程,以及其中的一个ItemDetailFragment的执行过程。

当我们的程序执行到oncreate方法时,setContentView方法,进入布局文件的处理,程序就会处理相应的fragment,这个时候开始调用fragment相应的方法。

依次执行的是onAttach(),onCreate(),onCreateView(),onViewCreated()(在fragment的生命周期中,这个方法一般很少提及),

接着我们的activity方法就会回调回去(就是setContentView()方法执行完毕),activity里面的onCreate方法执行完毕,接着又跳入了fragment里面

执行的是onActivityCreated()方法,即通知activity已经创建了。

在这里主要讲述了activity的生命周期如何影响fragment的生命周期。拿的是onCreate()方法来说的。对于其他的几个也是一样。

你可能感兴趣的:(android)