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 e2f7662a00f85ee05770148d7709d2350fd37b31..18d8d60bace3ff3a686d74ea7df5cd2bcd5bb24c 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 @@ -66,10 +66,14 @@ class GameFragment : Fragment() { binding.submit.setOnClickListener { onSubmitWord() } binding.skip.setOnClickListener { onSkipWord() } // Update the UI - updateNextWordOnScreen() + binding.score.text = getString(R.string.score, 0) binding.wordCount.text = getString( R.string.word_count, 0, MAX_NO_OF_WORDS) + // Observe the scrambledCharArray LiveData, passing in the LifecycleOwner and the observer. + viewModel.currentScrambledWord.observe(viewLifecycleOwner) { + newWord -> binding.textViewUnscrambledWord.text = newWord + } } /* @@ -81,9 +85,7 @@ class GameFragment : Fragment() { if (viewModel.isUserWordCorrect(playerWord)) { setErrorTextField(false) - if (viewModel.nextWord()) { - updateNextWordOnScreen() - } else { + if (!viewModel.nextWord()) { showFinalScoreDialog() } } else { @@ -98,7 +100,7 @@ class GameFragment : Fragment() { private fun onSkipWord() { if (viewModel.nextWord()) { setErrorTextField(false) - updateNextWordOnScreen() + } else { showFinalScoreDialog() } @@ -120,7 +122,7 @@ class GameFragment : Fragment() { private fun restartGame() { viewModel.reinitializeData() setErrorTextField(false) - updateNextWordOnScreen() + } /* @@ -160,7 +162,4 @@ class GameFragment : Fragment() { /* * Displays the next scrambled word on screen. */ - private fun updateNextWordOnScreen() { - binding.textViewUnscrambledWord.text = viewModel.currentScrambledWord - } }