前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >android开发(41) Fragment跳转到栈底部

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

作者头像
张云飞Vir
发布2020-03-16 15:31:10
4210
发布2020-03-16 15:31:10
举报
文章被收录于专栏:写代码和思考写代码和思考

需求场景:

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

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

代码语言:javascript
复制
1.Fragment A 

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

代码语言:javascript
复制
2.Fragment B
1.Fragment A

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

代码语言:javascript
复制
3.Fragment C
2.Fragment B
1.Fragment A

那么,如何从 Fragment C 一次性跳到 Fragment A 呢?

实现:

入栈时,使用方法

代码语言:javascript
复制
addToBackStack(nameForBackstackstate) 

传入了一个参数 name,这是个Fregment的标示,下面还要用到。 代码:

代码语言:javascript
复制
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); 这个方法的第二个参数

代码语言:javascript
复制
POP_BACK_STACK_INCLUSIVE

指示了这个弹出行为是 一次性出栈“指定的name的”Fragment 以上的所有 Fragment。

参考:

http://www.cnblogs.com/qixing/p/4015262.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求场景:
  • 实现:
    • 入栈时,使用方法
      • 弹出时这么做:
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档