Wiring up livedata

This commit is contained in:
2020-03-11 10:55:29 -04:00
parent c8427cdf91
commit 9989e9baef
5 changed files with 6 additions and 18 deletions

View File

@@ -51,18 +51,7 @@ class GameFragment : Fragment() {
viewModel = ViewModelProviders.of(this).get(GameViewModel::class.java) viewModel = ViewModelProviders.of(this).get(GameViewModel::class.java)
binding.gameViewModel = viewModel binding.gameViewModel = viewModel
binding.lifecycleOwner = this
viewModel.score.observe(this, Observer {
binding.scoreText.text = getString(R.string.score_format, it)
})
viewModel.word.observe(this, Observer {
binding.wordText.text = it
})
viewModel.gameTimer.observe(this, Observer {
binding.timerText.text = getString(R.string.time_format, it)
})
viewModel.eventGameFinished.observe(this, Observer { viewModel.eventGameFinished.observe(this, Observer {
if (it) { if (it) {

View File

@@ -57,10 +57,7 @@ class ScoreFragment : Fragment() {
.get(ScoreViewModel::class.java) .get(ScoreViewModel::class.java)
binding.scoreViewModel = viewModel binding.scoreViewModel = viewModel
binding.lifecycleOwner = this
viewModel.score.observe(this, Observer {
binding.scoreText.text = it.toString()
})
viewModel.eventPlayAgain.observe(this, Observer { viewModel.eventPlayAgain.observe(this, Observer {
if (it) { if (it) {

View File

@@ -3,7 +3,6 @@ package com.example.android.guesstheword.screens.score
import androidx.lifecycle.LiveData import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import timber.log.Timber
class ScoreViewModel(var finalScore: Int): ViewModel() { class ScoreViewModel(var finalScore: Int): ViewModel() {
@@ -17,7 +16,6 @@ class ScoreViewModel(var finalScore: Int): ViewModel() {
get() = _eventPlayAgain get() = _eventPlayAgain
init { init {
Timber.i("finalScore: $finalScore")
_eventPlayAgain.value = false _eventPlayAgain.value = false
_score.value = finalScore _score.value = finalScore
} }

View File

@@ -57,6 +57,7 @@
android:textColor="@color/black_text_color" android:textColor="@color/black_text_color"
android:textSize="34sp" android:textSize="34sp"
android:textStyle="normal" android:textStyle="normal"
android:text="@{@string/quote_format(gameViewModel.word)}"
app:layout_constraintBottom_toTopOf="@+id/score_text" app:layout_constraintBottom_toTopOf="@+id/score_text"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5" app:layout_constraintHorizontal_bias="0.5"
@@ -76,6 +77,7 @@
android:textColor="@color/grey_text_color" android:textColor="@color/grey_text_color"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="normal" android:textStyle="normal"
android:text="@{@string/time_format(gameViewModel.gameTimer)}"
app:layout_constraintBottom_toTopOf="@+id/score_text" app:layout_constraintBottom_toTopOf="@+id/score_text"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@@ -91,6 +93,7 @@
android:textColor="@color/grey_text_color" android:textColor="@color/grey_text_color"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="normal" android:textStyle="normal"
android:text="@{@string/score_format(gameViewModel.score)}"
app:layout_constraintBottom_toTopOf="@+id/guideline" app:layout_constraintBottom_toTopOf="@+id/guideline"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -57,6 +57,7 @@
android:textColor="@color/black_text_color" android:textColor="@color/black_text_color"
android:textSize="34sp" android:textSize="34sp"
android:textStyle="normal" android:textStyle="normal"
android:text="@{scoreViewModel.score.toString()}"
app:layout_constraintBottom_toTopOf="@+id/play_again_button" app:layout_constraintBottom_toTopOf="@+id/play_again_button"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5" app:layout_constraintHorizontal_bias="0.5"