class FirstFragment : Fragment(), MenuProvider {
...
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
//not called
menuInflater.inflate(R.menu.menu_, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
return true
}
}
<com.google.android.material.navigation.NavigationView
android:id="@+id/nv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:menu="@menu/menu_"/>
I'm trying to add a menu to the fragment (not the action bar), even if I add it in XML, I can't access it in the code. I tried many ways on the internet, I added menuhost to oncreate, I updated the version of the modules, but it didn't work, what do I need to know?
I also tried this code,i don't get error but function is not called
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
val menuHost: MenuHost = requireActivity() as MenuHost
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
//not called
menuInflater.inflate(R.menu.menu_, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)