在方向更改时从双窗格切换到单窗格维护片段堆栈

2023-12-13

目前,我在平板电脑上有横向和纵向的双窗格布局。

与设置类似,我有一个活动将片段加载到左侧选择窗格中,然后在显示的任何右侧片段中所做的选择都会导致更多片段显示到右侧窗格中,并一直添加到后台堆栈。

现在我可以看到,对于某些平板电脑来说,使用一个用于纵向的窗格和一个用于横向的双窗格是有意义的。但是,我想要以下行为:

A)如果在风景中是深度的片段堆栈N说是在右窗格中,然后在方向更改为纵向时我仍然想要片段N要显示和要维护的堆栈

B) 然后从片段导航回来N在纵向模式下,我最终想回到选择屏幕。

现在我不知道如何实现这一目标,到目前为止我提出的想法是:

1)两个方向都有双窗格,但在方向更改时隐藏左侧窗格,然后在清除堆栈时需要重新显示并隐藏右侧窗格

2) 将堆栈重建到新容器中,在切换到纵向时在开头添加选择片段

如果它们有效的话,这两种方法似乎都不令我完全满意。只是想知道更好/推荐的方法是什么。

提前致谢。彼得.

Edit 1

应该提到的是,我知道您可以有不同的纵向和横向布局,并且正在完成一个具有纵向和横向双窗格布局的大型项目,因此方向更改的生命周期是可以的。我也看过FragmentLayoutSupport示例,但在方向更改为纵向时,不会在右窗格中保留数据,它会再次显示列表。


PJL,所以您在这里处于正确的轨道上,您可以检查您的方向,然后显示或隐藏特定片段,或者您可以有两种不同的布局,一种用于纵向,一种用于横向,然后在 Activity 的 onCreate 函数中您可以检查是否可以通过 findViewById 获得第二个 Fragment,然后实例化它。您正在寻找的视图只有一个具有已知 ID 的 FrameLayout。 因此,请确保您了解方向改变期间会发生什么在此输入链接描述一个非常好的片段示例是本书示例的一部分忙碌的程序员高级 Android 开发指南这本书是 40 美元/年的说明的一部分。不过,示例代码是免费的。查看片段示例它可能有助于解决您的问题。当然你也可以看一下这个例子FragmentLayoutSupport.java在developer.android.com上

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

在方向更改时从双窗格切换到单窗格维护片段堆栈 的相关文章

  • 单击弹出菜单时为什么导航栏出现在全屏应用程序中

    我有一个全屏应用程序 MainActivity java public class MainActivity extends AppCompatActivity TargetApi Build VERSION CODES KITKAT pr
  • TypedArray 的 getResourceId 方法

    我正在阅读有关的文档获取资源Id https developer android com reference android content res TypedArray html getResourceId int 20int 方法 它说
  • Android NDK 中使用“dynamic_cast”时出现“UnsatisfiedLinkError”

    我是 Android 开发新手 我面临下一个问题 当我使用 C 代码时 动态演员 表达方式 不满意的链接错误 当我在模拟器上启动应用程序时出现 但是当我在没有它的情况下运行应用程序时 一切正常 我的意思是 LogCat 没有任何错误 我尝试
  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • 使用 android AudioTrack 在左或右扬声器中播放声音

    我正在应用程序中的 AudioTrack 的帮助下播放声音 但我想在特定扬声器 耳朵中播放声音 即左扬声器或右扬声器或两个扬声器 以下代码是我用来播放声音的 private AudioTrack generateTone double fr
  • GridView 中多次调用 getView()

    我的 Activity 由包含 40 多个元素的 GridView 组成 开始活动后 用户最多可以看到 15 个项目 3 行 每行 5 个项目 我在 getView 正文中编写传递给获取 View 的 LogCat 编号 Log i get
  • 在 Anko DSL 中创建自定义 View/ViewGroup 类

    我想创建一个自定义视图 它只是一些 Android 视图的包装 我考虑创建一个自定义 ViewGroup 来管理其子视图的布局 但我不需要这么复杂 我基本上想做的是 class MainActivity verticalLayout tex
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • Renderscript 示例构建错误

    所以我想尝试使用 RenderScript 的示例 并在 Eclipse 中导入了 HelloWorld 但它给了我这样的错误 2011 10 25 13 10 48 HelloWorld home mileoresko workspace
  • 如何以编程方式断开拨出呼叫

    我使用以下代码以编程方式断开呼叫 但它不起作用 private void callDisconnect try TelephonyManager manager TelephonyManager this getSystemService
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • 在 Jetpack Compose 中跨可组合函数重复使用一组预览注释

    在 Jetpack Compose 中迈出第一步 这非常令人惊奇 除了一个恼人的问题 我有一组固定的预览 正常 深色和 RTL Preview name Normal group Screen showBackground true Pre
  • Android Studio IDE 上的“文本/设计”选项卡缺少新的 Android 项目

    如何在创建新项目期间自动创建的 Activity main xml 文件的 src main res layout 文件夹中启用文本 设计选项卡 如果我右键单击并在所述文件夹上创建 xml 文件 则设计 文本选项卡存在 有什么建议吗 谢谢
  • 在为 Android 实现 Google 登录时,任务“:app:transformClassesWithDexForDebug”执行失败

    我正在尝试为 Android 实现 Google 登录 并且我正在按照以下说明进行操作 https developers google com identity sign in android start integrating https
  • JSON 到 hashmap (杰克逊)

    我想将 JSON 转换为 HashMapJackson http jackson codehaus org 这是我的 JSON String json Opleidingen name Bijz trajecten zorg en welz
  • 安卓的限制

    我需要构建一个应用程序 该应用程序拍摄相机图像并将其上传到网络 在网络上进行一些处理并返回真 假 我在这方面遇到了一些问题 希望得到澄清 1 我的应用程序有什么方法可以知道 Android 相机捕获的图像吗 我从这里明白了什么 Androi
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp

随机推荐

  • 在嵌套 JAR 内的文件夹中查找文件名

    当我的应用程序打包为 JAR 时 我无法访问目标文件夹 images 我不是在获取单个文件后 我想要的是 images 文件夹中所有 jpg 文件的列表 我试过这个 URI uri getClass getClassLoader getRe
  • 如果段错误不可恢复,为什么将其称为错误(而不是中止)?

    我对术语的以下理解是这样的 1 中断是由硬件发起的 通知 用于调用操作系统运行其处理程序 2 陷阱是由软件发起的 通知 用于调用操作系统运行其处理程序 3 故障是处理器在发生错误但可恢复时引发的异常 4 中止是处理器在发生错误但不可恢复时引
  • 为什么 ksh 中的以下 IF 条件总是评估为 true?

    考虑一下 下面的代码按预期工作 if SOME VARIABLE TRUE then echo Only echoed when SOME VARIABLE stores string TRUE fi 但是当我删除相等运算符周围的空间时 它
  • struts2中如何禁止缓存?

    在我的 Web 应用程序中 当用户注销时 他不应该访问他之前登录时查看过的页面 但是 由于浏览器缓存 他可以在单击后退按钮时查看这些页面 我定义了一个拦截器来处理这个问题 public String intercept ActionInvo
  • boost::unordered_map 中的迭代器失效

    我在用boost unordered map如下 typedef boost shared ptr
  • 将二进制文件读入字符串

    这一定是显而易见的 但我无法弄清楚 为此我花了几乎一整天的时间 我很乐意给能让我放松的人买瓶啤酒 File file new File filePath byte bytes new byte int file length DataInp
  • R 图频率分布

    如何在 R 中绘制频率分布 我不想对值进行分类 我只想绘制每个值的频率 这hist函数坚持分箱值 除非我手动指定分箱 真的很乏味 因为我事先不知道这些值 你可以plot the table您的数据 xx lt sample 1 10 100
  • 如何从 crm 中的插件注册恢复我的插件数据?

    将程序集更新为插件注册时 在第 2 步 选择要注册的插件和工作流程活动 如果没有选择所有插件 它们将连同插件注册中的步骤和图像一起删除 有没有办法恢复已删除的插件 是否有 XML 或文件可以帮助恢复步骤和图像 如果您有较早的解决方案备份或通
  • 我可以创建从网络上的 UNC 路径复制文件的安装程序吗?

    是否可以创建 Inno Setup 脚本来从网络上的 UNC 路径复制文件 而不是静态地将它们添加到安装文件中 如果是这样 如果我需要先对路径进行身份验证 还可以吗 Inno Setup 脚本中是否有提供身份验证信息的机制 本质上 我希望安
  • Python 导入 MySQLdb 错误 - Mac 10.6

    我下载并按照 MySQL 5 5 8 的安装说明进行操作 http dev mysql com downloads mysql 以及 MySQLdb python 插件 http sourceforge net projects mysql
  • PDO 多个查询:提交和回滚事务

    我需要触发 2 个查询 目前我正在这样做 Begin Transaction this gt db gt beginTransaction Fire Queries if query one gt execute if query two
  • 如何在 Azure 搜索中忽略重音符号?

    Azure 搜索是否支持某种忽略重音字符的方式 例如 如果有人搜索e它应该包括 搜索中的字符 或者我们是否需要在构建 Azure 搜索索引时添加一些转换 欢迎任何建议 谢谢 是的 请在您的现场使用 ASCII 折叠分析仪 为此 请将字段上的
  • Entity Framework 5 和 Amazon RDS - “底层提供程序在 Open 时失败。”

    我有一个 C Entity Framework Web 应用程序 可以在本地 SQL 2012 数据库上正常运行 我将数据库复制到新的 RDS 实例 并且可以通过 Visual Studio 和 SQL Server Management
  • PHP 不区分大小写和重音的数组搜索

    我有一个包含单词的数组 其中一些带有重音符号 我想测试给定的单词是否在该数组中 但使其不区分大小写和重音 例如 array array coche cami n moto carro 我想要一个简单的小功能 比如in array 如果我的字
  • 您可以在 WPF 应用程序中使用 jQuery 吗?

    在过去的几个月里 我一直在创建一个 WPF 应用程序 我想向我的应用程序添加一些动画 之前有人告诉我 jQuery 是一个很好的用于动画的 Javascript 库 问题是 环顾四周后 互联网上没有太多东西让我知道这是否可行 我对 jQue
  • 为什么在访问整数时缓冲区溢出会导致分段错误?

    在函数 A 调用函数 B 期间 B 分配一个 100 个字符的数组并多次填充它 其中一次使用 101 个字符的字符串 一次使用 110 个字符的字符串 这是一个明显的错误 随后 函数 A 尝试访问完全不相关的 int 变量 i 并发生分段错
  • 有关 C# 4.0 中的代码契约的书籍 [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 虽然我已经了解代码契约有一
  • Outlook 无法识别 ics 消息

    我正在尝试在 PHP 中创建一个 ics 文件 并将其邮寄给用户 该解决方案在 Gmail 中运行良好 我收到了一份精美的邀请 所有信息都出现在正确的位置 但 Outlook 似乎根本无法识别它 我收到一封没有附件的空电子邮件 据我所知 没
  • Windows 上的卷曲

    我已关注此链接上的所有内容 如何在 Windows 上安装 设置和使用 cURL 但我无法安装最新的curl 7 50 3https curl haxx se download html 在 Windows 7 2008 Server R2
  • 在方向更改时从双窗格切换到单窗格维护片段堆栈

    目前 我在平板电脑上有横向和纵向的双窗格布局 与设置类似 我有一个活动将片段加载到左侧选择窗格中 然后在显示的任何右侧片段中所做的选择都会导致更多片段显示到右侧窗格中 并一直添加到后台堆栈 现在我可以看到 对于某些平板电脑来说 使用一个用于