Android:Activity和Fragments之间的OptionMenu

The*_*ind 7 android menu optionmenu android-fragments

在我的应用程序中,我有一个活动,托管两个碎片.如果我将一个MenuItem添加到菜单中,我可以在我的片段中检索它吗?Activity中的OptionMenu和他的子片段中的OptionMenu之间的联系是什么?

Sha*_*zal 5

您必须setHasOptionsMenu();使用true传递给它的参数调用,然后您可以覆盖onCreate选项菜单.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Enable the option menu for the Fragment
    setHasOptionsMenu(true);
}
Run Code Online (Sandbox Code Playgroud)

如果你想为每个片段使用不同的optionsMenu,你将定义两个不同的菜单xml文件并在其中膨胀它们 onCreateOptionsMenu

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);

    inflater.inflate(R.menu.fragment1_menu, menu);


}
Run Code Online (Sandbox Code Playgroud)

  • 它显示了2个菜单..来自我的活动,1个来自片段.你知道如何隐藏活动菜单吗?我拥有所有碎片 (2认同)
  • 我认为你不应该在你的Activity中夸大菜单以避免这种情况. (2认同)