【问题标题】:Android: How to override navigation drawer toolbar menu in a Fragment [duplicate]Android:如何覆盖片段中的导航抽屉工具栏菜单[重复]
【发布时间】:2019-09-07 15:21:04
【问题描述】:

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

我试图通过覆盖片段类中的“onCreateOptionsMenu”函数来膨胀它:

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

【问题讨论】:

  • 编辑:如果您使用的是 Fragment,您应该致电 setHasOptionMenu(true)。 (请忽略我之前的评论)
  • P.S.请使用 Imgur 而不是发布指向外部资源的链接。

标签: android kotlin navigation-drawer android-toolbar


【解决方案1】:

这可能是因为您没有在 Fragment 类中调用 setHasOptionMenu(Boolean) 方法(正如 onCreateOptionsMenu 方法的注释所指定的那样)。

这应该放在你的onCreate生命周期钩子中:

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

【讨论】:

    猜你喜欢
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2014-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多