美文网首页
Fragment回退栈管理

Fragment回退栈管理

作者: SDY_0656 | 来源:发表于2017-09-13 16:08 被阅读0次
现在在android app的开发中,Fragment使用也越来越多,怎么管理Fragment也是一个普遍存在的问题,一般情况下我们加入Fragment的时候,如果是添加进了回退栈,那么按返回键就会退出上一层,加入的时候代码如下:
        FragmentTransaction transaction = manager.beginTransaction();
        transaction.add(id, targetFragment, tag);
        transaction.addToBackStack(tag);
        transaction.commitAllowingStateLoss();

那么有可能存在一种情况,退出的Fragment是比较深,然后退出的时候需要把前面的都退出掉,比如A->B->C->D->E,这个时候如果退出E想把前面的都退出掉,该怎么实现?

    for (int i = manager.getBackStackEntryCount() -1;i>=0;i--){
            manager.popBackStack(manager.getBackStackEntryAt(i).getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
            Fragment fragment = manager.findFragmentByTag(manager.getBackStackEntryAt(i).getName());
            if (null != fragment) {
                FragmentTransaction transaction = manager.beginTransaction();
                transaction.remove(fragment);
                transaction.commitAllowingStateLoss();
            }
        }

相关文章

  • Fragment回退栈和Activity栈不太一样

    Fragment回退栈,加入到Fragment回退栈里面的fragment出栈后,处于栈顶的fragment也不会...

  • Fragment学习

    1、Fragment回退栈管理 Activity是由任务栈管理的,遵循先进后出的原则,Fragment也可以实现类...

  • Fragment回退栈管理

    那么有可能存在一种情况,退出的Fragment是比较深,然后退出的时候需要把前面的都退出掉,比如A->B->C->...

  • 回退栈

    Fragment 的回退栈创建MvpFragmentManager : 监听使用

  • Fragment(11)——回退栈管理

    前言 在Fragment的使用过程中,我们经常会遇到Fragment的启动和关闭的问题,我们当然可以使用add及r...

  • 实习笔记17.07.20

    fragment回退栈?当Activity继承AppCompatActivity时 fragmentTransa...

  • fragment回退栈

    https://blog.csdn.net/zhiyuan0932/article/details/5259303...

  • Fragment 回退栈

    一、什么是回退栈Activity切换时是通过栈的形式,不断压栈出栈,在Fragment的时候,如果你不是手动开启回...

  • Fragment 回退栈

    一、什么是回退栈 Activity切换时是通过栈的形式,不断压栈出栈.在Fragment的时候,如果你不是手动打开...

  • Fragment之Fragment回退栈

    类似Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fr...

网友评论

      本文标题:Fragment回退栈管理

      本文链接:https://www.haomeiwen.com/subject/kaflsxtx.html