【问题标题】:ActionBar Menu Items disappear in NestedFragmentsActionBar 菜单项在嵌套片段中消失
【发布时间】:2012-12-17 17:11:21
【问题描述】:

由于 android 4.2 现在支持 NestedFragment ,并添加它以支持 v13。

我在一个经典的情况下使用了这个 NestedFragment:创建可以左右滑动并占用大部分屏幕空间的 fragmentA,并将 fragmentB 和 fragmentC 插入到每个 Fragment 页面中。

我的问题是我在 fragmentB 和 fragmentC 中创建的 MenuItem 无法在 Activity 的操作栏上显示。在我使用 NestedFragment 之前,它运行良好。

【问题讨论】:

  • 对此有解决方案吗?

标签: android nested android-actionbar fragment


【解决方案1】:

在某个时候遇到了同样的问题。如果您使用的是 ActionBarSherlock 库,这是一个小错误。您基本上要做的是从 onCreateOptionsMenu() 方法中的父片段调用子级的 onCreateOptionsMenu() 方法,例如:

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    getChildFragment().onCreateOptionsMenu(menu, inflater);
}

希望这可行,让我知道。

干杯。

【讨论】:

  • getChildFragment() 片段中不存在此方法。我似乎在任何地方都找不到它
  • 所以你说的是这个错误吧? github.com/JakeWharton/ActionBarSherlock/issues/828
  • 实际上您必须使用:getChildFragmentManager().findFragmentById()getChildFragmentManager().findFragmentByTag() 来获取子片段。然后你可以打电话给onCreateOptionsMenu(menu, inflater)。不要忘记检查片段实例是否为非空和childFragment.isAdded()
  • 我已经找了好几天了!谢谢!
猜你喜欢
  • 2012-05-07
  • 1970-01-01
  • 1970-01-01
  • 2017-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-16
相关资源
最近更新 更多