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

需求场景:

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

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 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,327评论 25 709
  • Fragment概述 Fragment是Activity中用户界面的一个行为或者说是一部分。主要是支持大屏幕上动态...
    wangling90阅读 13,966评论 5 75
  • 《Android Fragment完全解析,关于碎片你所需知道的一切》 我们都知道,Android上的界面展示都是...
    cxm11阅读 6,602评论 2 19
  • 早安! 现在星涵的文化课学习需要好好补一补了,所以画画的时间越来越少。她开始画人设了,这些人社简单,花费的时间也不...
    那里面阅读 962评论 0 3
  • 今天也是平静,平安的一天。感赏儿子让我陪他在身边,看着他吃火锅,感赏我能默默地陪着。吃完儿子仍旧进房间了。相处虽然...
    徐亚娟阅读 1,105评论 1 1