From 46343bcbc4affa36a5d7f3ab84bb329c3e74ce48 Mon Sep 17 00:00:00 2001 From: 62160052 <62160052@go.buu.ac.th> Date: Sat, 10 Sep 2022 18:21:13 +0700 Subject: [PATCH] Use binding expressions --- .../android/unscramble/ui/game/GameFragment.kt | 15 --------------- app/src/main/res/layout/game_fragment.xml | 6 ++++-- 2 files changed, 4 insertions(+), 17 deletions(-) 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 45c4dc7..4493614 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 a30f290..7623632 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" -- GitLab