我使用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中的按钮后,替换的内容与主要内容重叠
请告诉我如何解决这个问题。
谢谢。
答案 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