Wiring up livedata
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user