带有Fragment的标签替换内容(重叠内容)

时间:2014-03-24 10:35:17

标签: android

我使用Fragment Activity,ActionBar,ViewPager在我的主要活动中创建了三个选项卡。 我有三个标签tab1,tab2,tab3。在tab1中有两个按钮可用,每当用户点击按钮时,我使用片段管理器和片段事务将片段替换为另一个片段

替换片段的代码:

   FragmentTransaction fragmentTransaction = fragmentManager
                            .beginTransaction();
                    CreditHistoryActivity creditHistoryFragment = new CreditHistoryActivity();

                    fragmentTransaction.replace(R.id.content,
                            creditHistoryFragment);
                    fragmentTransaction.addToBackStack("fragment1");
                    fragmentTransaction.commit();

此处,在按Tab2中的按钮后,替换的内容与主要内容重叠

请告诉我如何解决这个问题。

谢谢。

1 个答案:

答案 0 :(得分:0)

如果碎片背景颜色是透明的,则所有现有碎片都会显示。要删除片段实例,请使用片段中的代码。

@Override
 public void onDetach() {
 super.onDetach();
}

 public void cleanupRetainInstanceFragment() {
  FragmentManager fm = getFragmentManager();
  fm.beginTransaction().remove(this.retainInstanceFragment).commit();
}  

在fragmentActivity中执行类似

的操作
  Fragment oldFragment = getSupportFragmentManager().findFragmentById(R.id.content);
    if (oldFragment instanceof CreditHistoryActivity) {
        ((CreditHistoryActivity)oldFragment).cleanupRetainInstanceFragment();
    }

    Fragment fragment = new CreditHistoryActivity();
    getSupportFragmentManager().beginTransaction().replace(R.id.content,fragment).commitAllowinStateLoss();

有关详细信息,请参阅this