首页 > 移动平台 > 详细

android开发(41) Fragment中使用POP_BACK_STACK_INCLUSIVE达到一次跳转到栈底。类似Activity的 采用FLAG_ACTIVITY_CLEAR_TOP

时间:2015-04-01 21:31:24      阅读:7219      评论:0      收藏:0      [点我收藏+]

需求场景:

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

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

android开发(41) Fragment中使用POP_BACK_STACK_INCLUSIVE达到一次跳转到栈底。类似Activity的 采用FLAG_ACTIVITY_CLEAR_TOP

原文:http://www.cnblogs.com/vir56k/p/4385287.html

(0)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!