我所理解的activity与fragment(1)

来源:互联网 发布:java rsa加密 编辑:程序博客网 时间:2024/06/05 17:56

我所理解的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()方法来说的。对于其他的几个也是一样。

0 0
原创粉丝点击