From 1bec2397f47ed1191817548ead406a0e815d35b7 Mon Sep 17 00:00:00 2001 From: 62160052 <62160052@go.buu.ac.th> Date: Sat, 10 Sep 2022 15:26:13 +0700 Subject: [PATCH] Add LiveData to the current scrambled word --- .../example/android/unscramble/ui/game/GameFragment.kt | 1 - .../android/unscramble/ui/game/GameViewModel.kt | 10 ++++++---- 2 files changed, 6 insertions(+), 5 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 f11d419..e2f7662 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 @@ -22,7 +22,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels import com.example.android.unscramble.R import com.example.android.unscramble.databinding.GameFragmentBinding import com.google.android.material.dialog.MaterialAlertDialogBuilder diff --git a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt index 96b8b8c..fa70095 100644 --- a/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt +++ b/app/src/main/java/com/example/android/unscramble/ui/game/GameViewModel.kt @@ -1,6 +1,8 @@ package com.example.android.unscramble.ui.game import android.util.Log +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel class GameViewModel: ViewModel() { @@ -11,8 +13,8 @@ class GameViewModel: ViewModel() { val currentWordCount: Int get() = _currentWordCount - private lateinit var _currentScrambledWord: String - val currentScrambledWord: String + private val _currentScrambledWord = MutableLiveData<String>() + val currentScrambledWord: LiveData<String> get() = _currentScrambledWord private var wordsList: MutableList<String> = mutableListOf() private lateinit var currentWord: String @@ -27,7 +29,7 @@ class GameViewModel: ViewModel() { Log.d("GameFragment", "GameViewModel destroyed!") } - fun getNextWord() { + private fun getNextWord() { currentWord = allWordsList.random() val tempWord = currentWord.toCharArray() tempWord.shuffle() @@ -37,7 +39,7 @@ class GameViewModel: ViewModel() { if (wordsList.contains(currentWord)) { getNextWord() } else { - _currentScrambledWord = String(tempWord) + _currentScrambledWord.value = String(tempWord) ++_currentWordCount wordsList.add(currentWord) } -- GitLab