diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt index 45c4dc7c99588b7977353246b2af67307e80401c..4493614d3aa2576d771a630d40391674cbc84963 100644 --- a/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt +++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameFragment.kt @@ -68,21 +68,6 @@ class GameFragment : Fragment() { // Setup a click listener for the Submit and Skip buttons. binding.submit.setOnClickListener { onSubmitWord() } binding.skip.setOnClickListener { onSkipWord() } - // Update the UI - - // Observe the scrambledCharArray LiveData, passing in the LifecycleOwner and the observer. - viewModel.currentScrambledWord.observe(viewLifecycleOwner) { - newWord -> binding.textViewUnscrambledWord.text = newWord - } - viewModel.currentWordCount.observe(viewLifecycleOwner - ) { newWordCount -> - binding.wordCount.text = - getString(R.string.word_count, newWordCount, MAX_NO_OF_WORDS) - } - viewModel.score.observe(viewLifecycleOwner - ) { newScore -> - binding.score.text = getString(R.string.score, newScore) - } // Specify the fragment view as the lifecycle owner of the binding. // This is used so that the binding can observe LiveData updates binding.lifecycleOwner = viewLifecycleOwner diff --git a/app/src/main/res/layout/game_fragment.xml b/app/src/main/res/layout/game_fragment.xml index a30f290310054861d719d8961431732f4a288718..762363279d4d5f5563714c0f29248da98bb124b1 100644 --- a/app/src/main/res/layout/game_fragment.xml +++ b/app/src/main/res/layout/game_fragment.xml @@ -81,13 +81,15 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/word_count" + android:text="@{gameViewModel.currentScrambledWord}" tools:text="Scramble word" /> + <TextView android:id="@+id/word_count" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/word_count" + android:text="@{@string/word_count(gameViewModel.currentWordCount, maxNoOfWords)}" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" app:layout_constraintBottom_toTopOf="@+id/textView_unscrambled_word" app:layout_constraintStart_toStartOf="parent" @@ -98,7 +100,7 @@ android:id="@+id/score" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/score" + android:text="@{@string/score(gameViewModel.score)}" android:textAllCaps="true" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline6" app:layout_constraintEnd_toEndOf="parent"