嵌套片段菜单操作按钮仅在我旋转设备时出现
Nested fragment menu action button only appears when i rotate the device
我有一个 [Xamarin,虽然我怀疑这不是问题所在] support/v4 片段在 ViewPager 上有 5 个嵌套片段(使用 this TabStrip implementation),其中4 必须显示一个操作栏按钮以将其内容保存到磁盘。那工作正常而且花花公子。我的问题是,在某些配置下,操作栏按钮仅从第二次 onCreate 调用开始出现(IE:它从我旋转设备的那一刻开始工作)。
我还没有设法清楚地隔离问题,但这些是我得到的线索:
设备提示
- Nexus 5 / 5.1 - 完全工作
- 三星 Galaxy Ace 3 / 4.2.2 - 完全工作
- Samsung Galaxy Tab S / 4.4.2 - 完全工作
- OnePlus One CM11S / 4.4.2 - 需要轮换
- Genymotion 10" / 4.4.2 - 需要旋转
代码提示
- container/parent 片段在 onCreate 调用 setHasOptionsMenu(true),与所有子片段一样
- 没有菜单代码区分 savedInstanceState 是否为 null
- onCreateOptionsMenu 正在所有 activity re/creations 上的所有嵌套片段上调用,并且它会在扩充自己的菜单之前回调到 base/super。它在 onResume 之后被调用,如果有帮助的话。
- 菜单文件未在任何配置中被覆盖(它仅存在于默认菜单/文件夹中)
杂项。评论:
- 父片段是 drill-down/list-detail UI 模式中的详细片段,它替换了列表片段(不将其压入堆栈),它确实具有操作按钮,那些工作正常。除了当详细信息片段再次被列表片段替换时,列表片段也缺少它的操作按钮(同样,在被详细信息片段替换之前它有)。
- 我在其他也是 TabStrip 子项的片段上广泛使用操作按钮,这些片段一直有效。
- 我正在努力创建这个问题的最小复制,以便我可以共享示例代码。
提前致谢。
我的问题源于 child 片段之一正在设置 activity 标题,可能使菜单无效。
注释掉 setTitle(...) 调用解决了问题。
我有一个 [Xamarin,虽然我怀疑这不是问题所在] support/v4 片段在 ViewPager 上有 5 个嵌套片段(使用 this TabStrip implementation),其中4 必须显示一个操作栏按钮以将其内容保存到磁盘。那工作正常而且花花公子。我的问题是,在某些配置下,操作栏按钮仅从第二次 onCreate 调用开始出现(IE:它从我旋转设备的那一刻开始工作)。
我还没有设法清楚地隔离问题,但这些是我得到的线索:
设备提示
- Nexus 5 / 5.1 - 完全工作
- 三星 Galaxy Ace 3 / 4.2.2 - 完全工作
- Samsung Galaxy Tab S / 4.4.2 - 完全工作
- OnePlus One CM11S / 4.4.2 - 需要轮换
- Genymotion 10" / 4.4.2 - 需要旋转
代码提示
- container/parent 片段在 onCreate 调用 setHasOptionsMenu(true),与所有子片段一样
- 没有菜单代码区分 savedInstanceState 是否为 null
- onCreateOptionsMenu 正在所有 activity re/creations 上的所有嵌套片段上调用,并且它会在扩充自己的菜单之前回调到 base/super。它在 onResume 之后被调用,如果有帮助的话。
- 菜单文件未在任何配置中被覆盖(它仅存在于默认菜单/文件夹中)
杂项。评论:
- 父片段是 drill-down/list-detail UI 模式中的详细片段,它替换了列表片段(不将其压入堆栈),它确实具有操作按钮,那些工作正常。除了当详细信息片段再次被列表片段替换时,列表片段也缺少它的操作按钮(同样,在被详细信息片段替换之前它有)。
- 我在其他也是 TabStrip 子项的片段上广泛使用操作按钮,这些片段一直有效。
- 我正在努力创建这个问题的最小复制,以便我可以共享示例代码。
提前致谢。
我的问题源于 child 片段之一正在设置 activity 标题,可能使菜单无效。
注释掉 setTitle(...) 调用解决了问题。