From 8c386416cfd21344e655b4d019ef8f381aed4c06 Mon Sep 17 00:00:00 2001 From: skysamara Date: Tue, 3 Mar 2020 17:47:22 +0300 Subject: [PATCH] Android Kotlin Fundamentals 03.2: Define navigation paths 9. Task: Add an options menu --- .../example/android/navigation/TitleFragment.kt | 15 ++++++++++++--- .../app/src/main/res/menu/option_menu.xml | 8 ++++++++ .../app/src/main/res/navigation/navigation.xml | 5 +++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 AndroidTriviaFragment/app/src/main/res/menu/option_menu.xml diff --git a/AndroidTriviaFragment/app/src/main/java/com/example/android/navigation/TitleFragment.kt b/AndroidTriviaFragment/app/src/main/java/com/example/android/navigation/TitleFragment.kt index 7ed172d..d085ea3 100644 --- a/AndroidTriviaFragment/app/src/main/java/com/example/android/navigation/TitleFragment.kt +++ b/AndroidTriviaFragment/app/src/main/java/com/example/android/navigation/TitleFragment.kt @@ -18,12 +18,11 @@ import android.os.Bundle +import android.view.* import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup import androidx.databinding.DataBindingUtil import androidx.navigation.findNavController +import androidx.navigation.ui.NavigationUI import com.example.android.navigation.databinding.FragmentTitleBinding @@ -46,8 +45,18 @@ class TitleFragment : Fragment() { binding.playButton.setOnClickListener { view: View -> view.findNavController().navigate(R.id.action_titleFragment_to_gameFragment) } + setHasOptionsMenu(true) return binding.root } + override fun onCreateOptionsMenu(menu: Menu?, inflater: MenuInflater?) { + super.onCreateOptionsMenu(menu, inflater) + inflater?.inflate(R.menu.option_menu, menu) + } + + override fun onOptionsItemSelected(item: MenuItem?): Boolean { + return NavigationUI.onNavDestinationSelected(item!!, view!!.findNavController()) + || super.onOptionsItemSelected(item) + } } diff --git a/AndroidTriviaFragment/app/src/main/res/menu/option_menu.xml b/AndroidTriviaFragment/app/src/main/res/menu/option_menu.xml new file mode 100644 index 0000000..7ff2f4b --- /dev/null +++ b/AndroidTriviaFragment/app/src/main/res/menu/option_menu.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/AndroidTriviaFragment/app/src/main/res/navigation/navigation.xml b/AndroidTriviaFragment/app/src/main/res/navigation/navigation.xml index 968d276..d5e87e9 100644 --- a/AndroidTriviaFragment/app/src/main/res/navigation/navigation.xml +++ b/AndroidTriviaFragment/app/src/main/res/navigation/navigation.xml @@ -52,4 +52,9 @@ app:popUpTo="@id/titleFragment" app:popUpToInclusive="false" /> + \ No newline at end of file