隐藏所有的fragment
首先把fragment加入fragment栈中
再加入栈中的同时需要给每一个fragment指定唯一的TAG,后面在隐藏的时候需要用到
private void addFragment(Fragment fragment,String TAG)
{
FragmentManager manager=getSupportFragmentManager();
FragmentTransaction transaction=manager.beginTransaction();
transaction.add(R.id.fragment,fragment,TAG);
transaction.addToBackStack(TAG);
transaction.commit();
// fragmentTag.add(TAG);
}
隐藏所有的fragment
根据上面指定的TAG找到fragment
private void hideFragment()
{
FragmentManager fm=getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
int size= fm.getBackStackEntryCount();//有多少个Fragment
for (int i = 0; i <size; i++)
{
String fragmentName=fm.getBackStackEntryAt(i).getName();//获取TAG
Fragment fragment= fm.findFragmentByTag(fragmentName);
if (fragment.isHidden() == false)
{
ft.hide(fragment);
ft.commit();
}
}
}