zoukankan      html  css  js  c++  java
  • 清空Fragment回退栈中某个Fragment之上的所有Fragment

    根据debug信息查看Fragment回退栈的情况,具体debug代码如下:

    int num = getActivity().getSupportFragmentManager().getBackStackEntryCount();
    String numString = "++++++++++++++++++++++++++++++++++Fragment回退栈数量:"+num;
    TALogger.d("Fragment", numString);
    for (int i = 0; i < num; i++) {
        BackStackEntry backstatck = getActivity().getSupportFragmentManager().getBackStackEntryAt(i);
        TALogger.d("Fragment", backstatck.getName());
    }
    

    debug结果截图如下:

    最后一步是调用:

    getActivity().getSupportFragmentManager().popBackStackImmediate(CreateGroupNameFragment.class.getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
    

    即弹出Tag为CreateGroupNameFragment之上的所有(包括自身)的Fragment。

    popBackStackImmediate(name,flag);

    第二个参数:只能是 0 或者 1(POP_BACK_STACK_INCLUSIVE);

    第一个参数为null时,第二个参数为0时:

    会弹出回退栈中最上层的那一个fragment。

    因为经测试,回退栈中的fragment个数减少了一个。

    第二个参数为1时:

    会弹出所有回退栈中的fragment。

    因为经测试,回退栈中的fragment个数变为0了。

  • 相关阅读:
    CSS布局之盒子模型[二]
    CSS布局之盒子模型[一]
    CSS文本相关之垂直排列[5]
    网站迁移之后,中文路径都变成乱码
    Linux中shell搜索多文件中的字符串
    mysql数据库报错
    使用Flarum轻松搭建自己的论坛
    CSS雪碧图-html优化
    CSS-定位模式
    ul当做div标签的使用
  • 原文地址:https://www.cnblogs.com/qixing/p/4015262.html
Copyright © 2011-2022 走看看