android开发(41) Fragment中使用POP_BACK_STACK_INCLUSIVE达到一次跳转到栈底。类似Activity的 采用FLAG_ACTIVITY_CLEAR_TOP
2024-10-18 22:50:18
需求场景:
在开发中遇到下面这样场景:
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
最新文章
- asp.net获取服务端和客户端信息
- 【Python】自动生成html文件查看指定目录中的所有图片
- PHPstorm设置连接FTP,进行文件上传、下载、比较
- ***微信LBS地理位置开发+百度地图API(地理位置和坐标转换)
- MySQL服务器状态变量
- uva---(11549)CALCULATOR CONUNDRUM
- Oracle系列之异常处理
- python爬虫-知乎登录
- Mybatis接口编程原理分析(一)
- 新手入门vue 使用vue-cli创建项目
- flask处理cookie
- 【转】C++标准转换运算符reinterpret_cast
- .tar.xz文件的解压方法
- Asp.NET调用有道翻译API
- apache的rewrite机制配置
- Unity&;C# Time时间相关
- js禁止img拖动
- android面试(4)---文件存储
- selenium - switch_to.frame()- 内嵌表单的切换
- Python switch-case语句的实现 -- 字典模拟实现
热门文章
- GitHub 上值得推荐的开源电子书
- Google Protocol Buffers介绍
- unity, Collider2D.bounds的一个坑
- node 的安装
- JS 在 IE9 中出现奇怪的错误(参数是必选项 argument not optional)
- 开始学习使用 Semantic UI
- [LintCode] N-Queens
- Subclipse和TortoiseSVN版本不一致导致升到高版本的project后,低版本svn客户端无法使用。
- android 通过命令行启动Apk
- 【React Native开发】React Native应用设备执行(Running)以及调试(Debugging)(3)