如何从后台弹出片段

2023-12-13

我有一个活动 A,它调用片段 Bf,它又调用片段 Cf。我希望在调用 Cf 时将 Bf 放置在后台堆栈中,以便用户可以导航回它。但是,如果在 Cf 中按下特定按钮,我希望 Bf 从返回堆栈中删除。这可能吗?

我看到有一个 popBackStack() 函数。但是,我对这如何运作有点困惑。使用这个功能安全吗?是否有可能将来自不同应用程序的活动插入到 Backstack 上的 Bf 之后?

另外,有什么方法可以改变后台堆栈上片段的savedInstanceState吗?

我只是不知道如何使用模拟器对后台堆栈进行可靠的测试。


您可以按名称弹出片段。将片段添加到返回堆栈时,只需给它们命名即可。

fragmentTransaction.addToBackStack("fragB");
fragmentTransaction.addToBackStack("fragC");

然后在 Fragment_C 中,使用名称 ie 弹出返回堆栈。fragB并包括POP_BACK_STACK_INCLUSIVE

someButtonInC.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {

        FragmentManager fm = getActivity()
                .getSupportFragmentManager();
        fm.popBackStack ("fragB", FragmentManager.POP_BACK_STACK_INCLUSIVE);
    }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从后台弹出片段 的相关文章

随机推荐

  • 如何从 PATH 环境变量中提取完整路径?

    我想从中提取完整路径PATH本地cmd工具的环境变量 考虑以下PATH内容 C Program Files Windows Resource Kits Tools C Perl site bin C Perl bin C WI NDOWS
  • Graph API 响应中的相关 ID 在哪里?

    我正在尝试提供correlation id为了这issue但我不知道如何获得它 我认为它应该是回应 对吗 可能是 client request id 吗 HTTP响应 HTTP 1 1 403 Forbidden Cache Control
  • 从对象列表中删除重复项

    我有 MyObject 字段 id a b c e f 我有包含 500 000 个项目的列表 现在如何删除参数 a c f 具有相同值的所有重复项目 我只寻找最快 最有效的方法 UPDATE我实现了比较器 我的班级中的字段有不同的类型 所
  • requests-html 和无限滚动

    我正在检查一个 python 库 requests html 看起来很有趣 简单明了的抓取 但是 我不确定如何呈现无限滚动的页面 从他们的文档中我了解到我应该渲染一个具有特殊属性 向下滚动 的页面 我正在尝试 但我不知道具体如何 我知道如何
  • C# Datagridview:获取组合框列中的选定项目

    我正在开发一个允许用户操作 xml 文件的 GUI 我在 datagridview 中显示 xml 文件 通过 xml 元素按列整齐地组织 我允许用户添加列作为我的项目的扩展 该列被添加到数据集表中 然后更新到我用来显示 xml 文件的 d
  • 如何循环遍历数据表中特定列的值?

    我想循环访问数据表中特定列的值 谁能给出 C 编码吗 DataTable tbl new DataTable foreach DataRow row in tbl Rows object cellData row colName
  • 在 PHP 中使用 exec 命令时可能出现权限问题

    我们有一个小型办公室内联网 用 PHP 构建 在 apache 服务器上 即 WAMP 它允许我们在文件服务器上创建项目文件夹 这是通过使用 shell exec xcopy 命令和以下开关将一组模板文件夹复制到新位置来实现的 e k i
  • 通过 yum 安装 Fiware-Cygnus 时出错

    我正在尝试通过 yum 安装 Fireware Cygnus yum install cygnus ngsi 但中间我遇到了一些错误 Transaction Check Error file usr cygnus init d cygnus
  • 管理 Google Cloud Datastore 中实体内实体的嵌套列表

    我是数据存储新手 我正在尝试创建一个简单的应用程序来跟踪图书借阅 我希望数据库架构如下 books book id name borrowing timestamp user id firstname email users name bo
  • 网格数据绑定问题

    我们的应用程序会生成特定结构的大量结果列表 问题是 如果我想在 DataGrid 中显示它 我必须创建一个 DataTable 并将其设置为将使用内存的网格的数据源 所以我创建了一个绑定列表我创建的一个类 称为myRow 并且在 myRow
  • Java Swing - 如何在 Mac 上双击项目文件以打开我的应用程序并加载文件?

    我创建了一个 Mac Java Swing 应用程序 并在 Info plist 文件中为其设置了文件扩展名 pkkt 因此当双击该文件时 它会打开我的应用程序 当我这样做时 程序运行良好 现在我需要在程序中加载 pkkt 项目 但文件路径
  • CSS 规范中的哪里规定了如何处理具有相同名称的多个属性?

    调试中另一个问题 我想确认我已经正确理解浏览器应该如何处理像这样的声明 background image url image0 jpg background image image set url image1 jpg 1x url ima
  • 使用 ggplot2 将注释放置在绘图中心

    我想在几个 ggplot 对象的中心放置一个注释 我研究并发现了一些类似的问题 例如这里 ggplot2中geom text的相对定位 到目前为止 我找到的唯一答案是操纵绝对范围 例如 y ymax 2 我想在打印到 pdf 之前在循环中添
  • Log4j,将 Web 应用程序配置为使用相对路径

    我有一个 java web 应用程序 必须部署在 Win 或 Linux 计算机上 我现在想添加 log4j 进行日志记录 并且想使用日志文件的相对路径 因为我不想在每次部署时更改文件路径 该容器很可能是 Tomcat 但也不一定 这样做的
  • 指针和字符串文字

    我多次看到以下言论 char ch Hello cout lt
  • 使用哪个 Android 控件?

    我正在迈出 Android 编程的第一步 我的应用程序是在数据库中创建条目 对于此任务 我创建了一个新的活动 一切都很好 但我不太喜欢它的样子 Currently the emulator shows this 我想要一些类似于 新联系人
  • 是扩展“语法”还是扩展“运算符”?

    我听说 两者都称为 传播 syntax 和 传播operator 后者更受欢迎 相关网址MDN 文档表明它最初被称为传播operator但后来改为扩展语法 并且MDN 的运营商列表没有提到它 谷歌似乎建议了这个词operator更受欢迎和接
  • 如何在 Jlist 中添加两列?

    我找到了双JList示例代码 但我需要在一个Jlist 如何在一个表格中添加两列Jlist 我尝试使用ListCellRenderer 但我未能向模型添加元素 Here s代码显示在带有图像的网页中 你的意思是这样的吗 我首先要通读一下如何
  • Elastic Search 忽略映射并且长字段显示为字符串

    我正在向 elasticsearch 添加一个架构 并在该架构中尝试添加一些先前已作为字符串处理的长字段 我创建了一个新索引并重新处理了数据 但在新索引中这些字段仍然显示为字符串 来自索引端点的映射的相关部分 image features
  • 如何从后台弹出片段

    我有一个活动 A 它调用片段 Bf 它又调用片段 Cf 我希望在调用 Cf 时将 Bf 放置在后台堆栈中 以便用户可以导航回它 但是 如果在 Cf 中按下特定按钮 我希望 Bf 从返回堆栈中删除 这可能吗 我看到有一个 popBackSta