场景:
活动将片段A添加到帧布局。
片段A替换为片段B。
在步骤2之前,一切正常。
在步骤3中使用addToBackStack()时,一切正常。输出将为A> B> B(重新创建)> B(onBackPressed()/ popBackStack())> A。
但是当我在第3步中未使用addToBackStack()时,输出将为A> B> B(重新创建)> A(与B重叠)。
发生重叠的任何原因?
活动添加片段A:
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
ChartFragment fragment = new ChartFragment();
fragmentTransaction.add(R.id.container, fragment);
fragmentTransaction.commit();
将片段A替换为片段B:
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
ChildChartFragment fragment = new ChildChartFragment();
fragmentTransaction.replace(R.id.container, fragment);
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
fragment.setArguments(b);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
重新创建片段B:
getFragmentManager().beginTransaction().replace(R.id.container, new ChildChartFragment()).commit();
答案 0 :(得分:1)
尝试在片段中设置背景颜色。