直接上代码:
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(); //提交事务 } } }