Android:如何覆盖片段中的导航抽屉工具栏菜单

Android: How to override navigation drawer toolbar menu in a Fragment

我正在创建一个带有导航抽屉的应用程序,我需要编辑我在特定片段中的工具栏。

我试图通过覆盖片段中的 'onCreateOptionsMenu' 函数来膨胀它 class:

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
    inflater.inflate(R.menu.menu_activity_main, menu)
    super.onCreateOptionsMenu(menu, inflater)
}

我希望在操作栏菜单上覆盖 "menu_activity_main" 菜单,但事实并非如此。

目前看起来是这样的:https://prnt.sc/p32sj5

但我想要这个菜单:https://prnt.sc/p32tp4

这可能是因为您没有调用指定的 setHasOptionMenu(Boolean) method in your Fragment class (as what the notes of the onCreateOptionsMenu 方法。

这应该放在您的 onCreate 生命周期挂钩中:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setHasOptionMenu(true)
    // ...
}