Fragment管理与Fragment事务
Fragment管理
Activity管理Fragment主要依靠FragmentManger
FragmentManger的功能:
1.使用findFragmentById()或findFragmentByTag()方法来获取指定Fragment。
2.调用popBackStack()方法将Fragment从后台栈中弹出(模拟用户按下BACK按键)。
3.调用addOnBackStackChangeListener()注册一个监听器,用于监听后台栈的变化。
Fragment事务
FragmentTransaction也称Fragment事务,代表了Activity对Fragment执行的多个改变操作。
如果需要添加,删除,替换Fragment,则需要借助于FragmentTransaction对象,FragmentTransaction代表
Activity对Fragment执行多个改变。可通过FragmentManager来获得FragmentTransaction,每个
FragmentTransaction可以包含调用多个add(),remove(),和replace()操作,最后还调用commit()方法提交事
务即可。
片段:
// 创建一个新的Fragment
Fragment newFragment = new XXXXXFragment();
// 打开事务
FragmentTransaction transaction = getFragmentManager().beginTransaction();
// 替换该界面中fragment_XXXX容器内的Fragment
transaction.replace(R.id.XXXX,newFragment);
// 将事务添加到back栈,允许用户按BACK按键返回替换Fragment之前的状态
transaction.addToBackStack(null);
// 提交事务
transaction.commit();