📜  片段的 onCreateOptionsMenu (1)

📅  最后修改于: 2023-12-03 15:40:49.391000             🧑  作者: Mango

介绍

onCreateOptionsMenu是一个用于创建选项菜单的回调方法。在Fragments中,我们可以使用onCreateOptionsMenu()方法为每个Fragment创建一个选项菜单。在Fragment被添加到Activity中时,系统会回调Fragment的onCreateOptionsMenu()方法,并在Activity的选项菜单中添加这个Fragment的选项菜单。

代码示例

以下是一个常见的onCreateOptionsMenu方法实现示例:

public class MyFragment extends Fragment {
    // ...

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        // Inflate the menu; this adds items to the action bar if it is present.
        inflater.inflate(R.menu.my_menu, menu);
        super.onCreateOptionsMenu(menu, inflater);
    }

    // ...
}
解析

在上面的代码片段中,我们定义了一个MyFragment类作为一个示例Fragment。在这个Fragment的onCreateOptionsMenu方法中,我们首先调用inflater.inflate()方法来从XML布局文件中加载菜单资源,并将菜单添加到上下文菜单中。然后,我们调用super.onCreateOptionsMenu()来调用父类的创建菜单方法。

在我们的XML布局文件my_menu.xml中,我们可以使用<menu>元素来定义我们的选项菜单:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/menu_item_1"
          android:icon="@drawable/icon_1"
          android:title="Menu Item 1" />
    <item android:id="@+id/menu_item_2"
          android:icon="@drawable/icon_2"
          android:title="Menu Item 2" />
</menu>

在这个选项菜单中,我们定义了两个菜单项:Menu Item 1Menu Item 2,它们分别使用icon_1icon_2作为图标。我们可以在菜单项上附加点击监听器,以便在菜单项被选中时执行某些操作。

请注意,当选项菜单被创建时,我们的Fragment将添加到Activity的选项菜单中。因此,您可以通过Activity的选项菜单来访问所有Fragment的选项菜单。