【发布时间】:2014-02-27 12:28:55
【问题描述】:
我创建了 3 个 Fragment,即(FragmentA、FragmentB、FragmentC)和一个 MainActivity。 每个片段中都有一个按钮,它将自己替换为下一个片段,直到 FragmentC。
我正在替换 FragmentA(用)FragmentB(然后用)FragmentC。
从 FragmentA 到 FragmentB 的交易使用以下函数
@Override
public void fragmentreplacewithbackstack(Fragment fragment, String tag) {
FragmentManager fragmentManager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contner,fragment , tag);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
// fragmentManager.executePendingTransactions();
}
从 FragmentB 到 FragmentC 的交易使用下面的函数
public void fragmentreplace(Fragment fragment,String tag){
FragmentManager fragmentManager=getSupportFragmentManager();
FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contner,fragment , tag);
fragmentTransaction.commit();
}
问题是当我从 FragmentC 按下返回按钮时,FragmentC 和 FragmentA 相互重叠。
【问题讨论】:
-
以下答案中的解决方案1对我有用stackoverflow.com/a/32199862/8101551
标签: android android-fragments overlap overlapping back-stack