android开发(41) Fragment跳转到栈底部

作者: 张云飞Vir | 来源:发表于2016-06-22 21:43 被阅读247次

    需求场景:

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

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

    1.Fragment A 
    

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

    2.Fragment B
    1.Fragment A
    

    c.创建 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

    相关文章

      网友评论

        本文标题:android开发(41) Fragment跳转到栈底部

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