直接上代码:
private void switchFragment(Fragment fromFragment, Fragment toFragment) {
//fromFragment当前的fragment , toFragment要切换的Framgment
if(fromFragment != toFragment) {
fragment = toFragment; //把要切换的fragment赋值给全局的fragment,作为下次fromfragment作为下次的fromFragment传入
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
if(toFragment != null) {
if(!toFragment.isAdded()) { //如果toFragment没有添加到当前activity ,
transaction.add(R.id.fl_content,toFragment); //添加toFragment到activity
}else {
transaction.show(toFragment); //如果添加到activity,直接显示toFragment即可
}
if(fromFragment != null) {
transaction.hide(fromFragment); //如果fromFragment不为空,隐藏当前activity
}
transaction.commit(); //提交事务
}
}
}