提问人:Julius Babies 提问时间:8/9/2023 最后编辑:Julius Babies 更新时间:8/9/2023 访问量:97
Android MenuProvider 在 Fragment 中不起作用
Android MenuProvider not working inside Fragment
问:
我需要根据用户正在查看的片段添加一个菜单。
我尝试在我的 Fragment 的 -Method 中使用 new:MenuProvider
onViewCreated
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val menuHost: MenuHost = requireActivity()
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
menuInflater.inflate(R.menu.menu_main, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
return true
}
}
}
这与我在 Main-activity 中的工具栏没有任何作用。我必须在某处启用菜单吗?
编辑 1正如我在类似问题的答案中看到的那样,将其放入我的 MainActivity 中并不能解决问题:
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
return true
}
编辑 2将我的菜单项移动到组中也没有解决它。
编辑 3我放置了一个断点,但它没有被激活,这告诉我,该活动不关心菜单提供程序。menuInflater.inflate()
答:
0赞
Julius Babies
8/9/2023
#1
我错过了我的 MainActivitysetSupportActionBar(findViewById(R.id.toolbar))
onCreate
评论