android - fragment 在后退按钮上重叠

标签 android android-fragments overlap overlapping back-stack

我创建了 3 个 fragment ,即(FragmentA、FragmentB、FragmentC)和一个 MainActivity。 每个 fragment 中都有一个按钮,它会用下一个 fragment 替换自己,直到 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 相互重叠。

As below screen

最佳答案

如果你想从这里返回 fragment B,你还需要将 fragment C 添加到 backstack。

因此也为 Fragment C 调用下面的代码。

 fragmentTransaction.addToBackStack(null);

编辑 - 更改您当前使用的从 B 到 C 的方法,

public void fragmentreplace(Fragment fragment,String tag){
    FragmentManager fragmentManager=getSupportFragmentManager();
    FragmentTransaction fragmentTransaction=fragmentManager.beginTransaction();
    fragmentTransaction.replace(R.id.contner,fragment , tag);
    fragmentTransaction.addToBackStack(null); //this will add it to back stack
    fragmentTransaction.commit();   
}

关于android - fragment 在后退按钮上重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068552/

相关文章:

Android 改变 Spinner 的 TextView 颜色

java - 为 fragment 中的 TextView 设置语言环境

android - 使用后退按钮在 fragment 之间切换

Android 堆叠 View

android - Graphview,条形颜色每隔一个

android - 检测与 WiFi 接入点的断开连接

android - Android-Activity和Android-Fragment的关系是什么; UML 类图中的 Activity/Fragment 和 ViewModel?

r - 查找两个向量之间不重叠的元素

css - 从较低的 z-index 重叠元素

r - 识别 R 数据框中因素之间的非重叠值