Fragment重叠问题
2015-08-31 23:22 Weiggle 阅读(229) 评论(0) 收藏 举报1:实例代码
private void showFragment(int index){
//开启事物
FragmentTransaction transaction = manager.beginTransaction();
hideFragment(transaction);
switch (index) {
case 0:
if(fragment1 != null){//如过已经实例化,那么可直接显示出来
transaction.show(fragment1);
}else{//如果没有实例化,先实例化,在添加
fragment1 = new TabFragment1();
transaction.add(R.id.content, fragment1);
}
break;
case 1:
if(fragment2 != null){
transaction.show(fragment2);
}else{
fragment2 = new TabFragment2();
transaction.add(R.id.content, fragment2);
}
break;
case 2:
if(fragment3 != null){
transaction.show(fragment3);
}else{
fragment3 = new TabFragment3();
transaction.add(R.id.content, fragment3);
}
break;
default:
break;
}
transaction.commit();//切记要提交事物
}
/**
* 隐藏所有的Fragment
* @param ft
*/
private void hideFragment(FragmentTransaction ft){
if(fragment1 != null){
ft.hide(fragment1);
}
if(fragment2 != null){
ft.hide(fragment2);
}
if(fragment3 != null){
ft.hide(fragment3);
}
}
浙公网安备 33010602011771号