我需要添加一个菜单,这取决于用户正在查看的片段。
我尝试在我的片段的onViewCreated
-方法中使用新的MenuProvider
:
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
}
}
}
这不会对我的主活动中的工具栏做任何事情。我必须在某个地方启用菜单吗?
Edit 1正如我在一个类似问题的答案中所看到的,将其放入我的MainActivity并没有起到作用:
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
return true
}
编辑2将我的菜单项移动到一个组中也没有修复它。
编辑3我在menuInflater.inflate()
处设置了一个断点,但它没有被激活,这告诉我,Activity并不关心菜单提供程序。
1条答案
按热度按时间7fhtutme1#
我在主活动的
onCreate
中遗漏了一个setSupportActionBar(findViewById(R.id.toolbar))