Create a menu resource file in the res/menu folder:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/aboutFragment"
android:title="@string/about" />
</menu>
In the relevant Activity/Fragment:
import ...
class TitleFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
val binding: FragmentTitleBinding = DataBindingUtil.inflate(
inflater, R.layout.fragment_title, container, false)
setHasOptionsMenu(true) // State that we want an overflow menu
return binding.root
}
override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { // Override onCreateOptionsMenu
super.onCreateOptionsMenu(menu, inflater)
inflater?.inflate(R.menu.overflow_menu, menu) // Feed in the xml resource you created
}
override fun onOptionsItemSelected(item: MenuItem?): Boolean { // Override onOptionsItemSelected
return NavigationUI.onNavDestinationSelected(item!!, view!!.findNavController()) // Use the NavigationUI class to determine if you clicked an item in your list
|| super.onOptionsItemSelected(item) // If not, defer to super
}
}
