前面一起学习了Fragment的创建和加载,以及其生命周期方法,那么接下来进一步来学习Fragment的具体使用,本期先来学习Fragment添加、删除、替换。
一、概述
在前面的学习中,特别是动态加载的时候,有提到FragmentManager和FragmentTransaction类,这里先来详细了解一下其到底为何物。
1、FragmentManager
要管理Activity中的Fragments,就需要使用FragmentManager类。通过getFragmentManager()或getSupportFragmentManager()获得 。
FragmentManager类常用的方法有以下几个:findFragmentById(int id):根据ID来找到对应的Fragment实例,主要用在静态添加Fragment的布局中,因为静态添加的Fragment才会有ID 。
findFragmentByTag(String tag):根据TAG找到对应的Fragment实例,主要用于在动态添加的Fragment中,根据TAG来找到Fragment实例 。
getFragments():获取所有被add进Activity中的Fragment 实例。
benginTransatcion():开启一个事物。
2、FragmentTransaction
如果需要添加、删除、替换Fragment,则需要借助于FragmentTransaction对象,FragmentTransaction 代表 Activity 对 Fragment 执行的多个改变。
FragmentTransaction类常用的方法有以下几个:add(int containerViewId, Fragment fragment, String tag):将一个Fragment实例添加到Activity的最上层 。
remove(Fragment fragment):将一个Fragment实例从Activity的Fragment队列中删除。
replace(int containerViewId, Fragment fragment):替换containe