ActionBar菜单项在NestedFragments中消失

Wan*_*721 11 android nested fragment android-actionbar

由于android 4.2现在支持NestedFragment,并将其添加到支持v13.

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

我的问题是我在fragmentB中创建的MenuItem,而fragmentC不能在Activity的actionbar上显示.在使用NestedFragment之前,它运行良好.

Rad*_*eci 3

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

public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    getChildFragment().onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)

希望这有效,请告诉我。

干杯。

  • 实际上你必须使用:`getChildFragmentManager().findFragmentById()`或`getChildFragmentManager().findFragmentByTag()`来获取子片段。然后你可以调用`onCreateOptionsMenu(menu, inflater)`。不要忘记检查fragment-instance是否不为空以及之前检查`childFragment.isAdded()`。 (5认同)