美文网首页
Fragment的两种添加方式下的生命周期

Fragment的两种添加方式下的生命周期

作者: Simon_Zhang | 来源:发表于2017-06-08 16:25 被阅读96次

Fragment的添加到activity中有两种方式,这两种方式添加的fragment的生命周期有一点的区别。

1.静态添加Fragment,将fragment直接放在activity的布局xml中。

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:baselineAligned="false" >  
  
    <fragment  
        android:id="@+id/fragment1"  
        android:name="com.harvic.com.harvicblog2.Fragment1"  
        android:layout_width="0dip"  
        android:layout_height="match_parent"  
        android:layout_weight="1" />  
  
    <fragment  
        android:id="@+id/fragment2"  
        android:name="com.harvic.com.harvicblog2.Fragment2"  
        android:layout_width="0dip"  
        android:layout_height="match_parent"  
        android:layout_weight="1" />  
  
</LinearLayout>  

这种情况下的fragment的生命周期为:
启动activity的时候,frament的生命周期

1.png

点击home键,回到桌面界面的frament的生命周期

2.png

重新进入界面时,frament的生命周期

3.png

点击back界退出时,frament的生命周期

4.png

2.动态添加Fragment,fragment的生命周期。

动态添加fragment的代码如下:

      FragmentManager manager = getSupportFragmentManager();
            FragmentTransaction transaction =               manager.beginTransaction();
            Fragment1 fragment1 = new Fragment1();
            transaction.add(R.id.fragment_container, fragment1);
            transaction.commit();

只要当执行FragmentTransaction 执行commit()后,fragment才会走下面的生命周期方法:

Image.png

点击home键,重新进入界面时,点击back界退出时这三种情况的生命周期方法和静态添加的相同。 这里就不说了。
FragmentTransaction 执行remove()时:fragment生命周期方法和点击back键相同。

相关文章

网友评论

      本文标题:Fragment的两种添加方式下的生命周期

      本文链接:https://www.haomeiwen.com/subject/zqrtqxtx.html