android开发(41) Fragment中使用POP_BACK_STACK_INCLUSIVE达到一次跳转到栈底。类似Activity的 采用FLAG_ACTIVITY_CLEAR_TOP
需求场景:
在开发中遇到下面这样场景:
1.创建 Fragment A 显示。 这时栈的结构是:
- .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的更多相关文章
- Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml
Android开发:碎片Fragment完全解析 为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像 Activi ...
- EventBus框架在Android多Pane(Fragment)中的应用
通常多pane的设计中,比如Fragment A是个Headline,Fragement B是detail,那么B通常需要实现A的点击事件的接口,这样子的话,两个fragment就高耦合了,而且需要在 ...
- Android 开发 之 Fragment 详解
本文转载于 : http://blog.csdn.net/shulianghan/article/details/38064191 本博客代码地址 : -- 单一 Fragment 示例 : http ...
- Android开发——异步任务中Activity销毁时的问题
0. 前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment ...
- Android开发:碎片Fragment完全解析fragment_main.xml/activity_main.xml(转)
注明:这个转的,见谅未能标明原始出处 我们都知道,Android上的界面展示都是通过Activity实现的,Activity实在是太常用了,我相信大家都已经非常熟悉了,这里就不再赘述. 但是Activ ...
- android开发在adapter中使用反射添加元素
android开发中最常用的控件之一就是listview,伴随listview还要有adapter和放入适配器的item.然后假设其中有一部分item的生成符合一定规律,Item item = new ...
- Android开发:Eclipse中SqliteManager插件使用
通常开发Android的时候要使用到数据库操作,会遇到下面小问题: 数据库文件在哪?怎样訪问或操作? 能够通过:打开DDMS->File Explorer看到的sqlite数据库在eclipse ...
- [Android] 多重使用Fragment 中的onFragmentInteraction
新建的一个Fragment,被一个Activity使用,那么这个Activity需要继承一个接口: public class MainActivity extends Activity impleme ...
- Android开发:fragment将事件传递回activity
fragment触发事件后传递会给activity,可以通过在fragment中定义一个接口,让activity实现这个接口. 具体代码如下 public class AAFragment exten ...
随机推荐
- [转]JDBC快速入门教程
JDBC是什么? JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据库使用: ...
- libsvm_readme[zz from github]
Libsvm is a simple, easy-to-use, and efficient software for SVM classification and regression. It so ...
- metaspolit 命令大全
一.msfconsole相关命令 二.database 三.autopwn自动化攻击工具 四.metaspolit常见渗透命令大全
- Nginx(四):压缩功能详解
gzip (GNU-ZIP) 是一种压缩技术.经过 gzip 压缩后页面大小可以变为原来的 30%甚至更小. 这样,用户浏览页面的时候速度会快得多. gzip 的压缩页面需要浏览器和服务器双方都支持 ...
- CentOS编译安装vim
#删除系统自带的vim rpm -qa | grep vim rpm -e vim-X11-7.4.629-5.el6_8.1.x86_64 vim-filesystem-7.4.629-5.el6_ ...
- sqlite第三方类库:FMDB使用
转自:http://www.cnblogs.com/wuhenke/archive/2012/02/07/2341656.html 本文转自一位台湾ios开发者的blog,由于blog地址被墙掉,转发 ...
- 深入理解Linux内核-进程调度
1.什么时候进行进程切换 调度策略目标:1.进程响应尽量快:2.后台作业吞吐量尽量高:3.尽可能避免进程饥饿:4.低优先级和高优先级进程需要尽量调和. 调度策略:决定什么时候选择什么进程运行的规则.基 ...
- 非常详尽的 Shiro 架构解析
Shiro是什么? Apache Shiro是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密. Apache Shiro的首要目标是易于使用和理解.安全有时候是很复杂 ...
- [Windows Azure] Load Testing in Windows Azure
The primary goal of a load test is to simulate many users accessing a web application at the same ti ...
- cxf 相关问题
cxf不能将String的参数序列化的问题解决 问题: java.lang.NoSuchMethodError: org.codehaus.jettison.AbstractXMLStreamWrit ...