I am trying to have a menu item using menu host, I can see the item, but when I click it nothing happens, onMenuItemSelected is not called, none of the timber logs are logged.
Is there anything wrong I am doing here please
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val menuHost: MenuHost = requireActivity()
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
menuInflater.inflate(R.menu.electricity_tar_link, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
Timber.d("xxx - onMenuItemSelected")
return when (menuItem.itemId) {
R.id.skipMI -> {
Timber.d("xxx - onMenuItemSelected - skip")
onTarListener.onElecTarSkip()
true
}
else -> {
Timber.d("xxx - onMenuItemSelected - else")
false
}
}
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
Activity that is hosting the fragment which does not have any code related to menu
class ElecTarActivity : InjectionFragmentActivity(), OnElecProviderListener, OnElecTarListener {
// region Setup
lateinit var binding: AppBarActivityBinding
override val toolbar: Toolbar
get() = binding.appBar.toolbar
override val coordinatorLayout: CoordinatorLayout
get() = binding.coordinatorLayout
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = AppBarActivityBinding.inflate(layoutInflater)
setContentView(binding.root)
setAppBar(toolbar, showHomeAsUp = true)
}
missing bit of code that made it to work in the
onCreateMenumethod was