zoukankan      html  css  js  c++  java
  • android开发(41) Fragment中使用POP_BACK_STACK_INCLUSIVE达到一次跳转到栈底。类似Activity的 采用FLAG_ACTIVITY_CLEAR_TOP

    需求场景:

    在开发中遇到下面这样场景:

    1.创建 Fragment A 显示。  这时栈的结构是:   

      

    1.Fragment A 

    2.创建 Fragment B 并 显示。  从下到上看,这时栈的结构是:  

    2.Fragment B
    1.Fragment A

    3.创建 Fragment C 并 显示。  从下到上看,这时栈的结构是:  

    3.Fragment C
    2.Fragment B
    1.Fragment A

    那么,如何从 Fragment C 一次性跳到 Fragment A 呢?

    实现:

    入栈时,使用方法

    addToBackStack(nameForBackstackstate) 

    传入了一个参数 name,这是个Fregment的标示,下面还要用到。

    代码:

    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
    String name = fragment.getClass().getName();
    fragmentTransaction.replace(R.id.container, fragment).addToBackStack(nameForBackstackstate).commit();

    弹出时这么做:

    fragmentManager.popBackStackImmediate(FragmentA.class.getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE);

    这个方法的第二个参数

    POP_BACK_STACK_INCLUSIVE

    指示了这个弹出行为是 一次性出栈“指定的name的”Fragment 以上的所有 Fragment。


     参考:

    http://www.cnblogs.com/qixing/p/4015262.html

  • 相关阅读:
    Mermaid 学习
    几个统计学的概念
    MXNet——symbol
    Graphviz 在 Windows 10 下 的 安装 Bug 解决方案
    数据挖掘学习笔记
    Python 黑魔法 --- 描述器(descriptor)
    理解 Python 中的元类
    python 创建项目
    创建 python 虚拟环境
    python开发之路Day17-算法设计(冒泡排序、选择排序、插入排序、二叉树)
  • 原文地址:https://www.cnblogs.com/vir56k/p/4385287.html
Copyright © 2011-2022 走看看