diff --git a/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt b/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt index a7cd6f1..d3942e0 100755 --- a/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt +++ b/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt @@ -57,12 +57,12 @@ class GameFragment : Fragment() { // to all the data in the VieWModel binding.gameViewModel = viewModel - // Specify the current activity as the lifecycle owner of the binding. + // Specify the fragment view as the lifecycle owner of the binding. // This is used so that the binding can observe LiveData updates - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner // Observer for the Game finished event - viewModel.eventGameFinish.observe(this, Observer { hasFinished -> + viewModel.eventGameFinish.observe(viewLifecycleOwner, Observer { hasFinished -> if (hasFinished) gameFinished() }) diff --git a/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt b/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt index 952ebbd..207a5ab 100755 --- a/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt +++ b/GuessTheWordDataBinding/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt @@ -55,12 +55,12 @@ class ScoreFragment : Fragment() { .get(ScoreViewModel::class.java) binding.scoreViewModel = viewModel - // Specify the current activity as the lifecycle owner of the binding. + // Specify the fragment view as the lifecycle owner of the binding. // This is used so that the binding can observe LiveData updates - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner // Navigates back to game when button is pressed - viewModel.eventPlayAgain.observe(this, Observer { playAgain -> + viewModel.eventPlayAgain.observe(viewLifecycleOwner, Observer { playAgain -> if (playAgain) { findNavController().navigate(ScoreFragmentDirections.actionRestart()) viewModel.onPlayAgainComplete() diff --git a/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt b/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt index ed46d52..e9d2339 100755 --- a/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt +++ b/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt @@ -54,17 +54,17 @@ class GameFragment : Fragment() { viewModel = ViewModelProviders.of(this).get(GameViewModel::class.java) /** Setting up LiveData observation relationship **/ - viewModel.word.observe(this, Observer { newWord -> + viewModel.word.observe(viewLifecycleOwner, Observer { newWord -> binding.wordText.text = newWord }) - viewModel.score.observe(this, Observer { newScore -> + viewModel.score.observe(viewLifecycleOwner, Observer { newScore -> binding.scoreText.text = newScore.toString() }) // Observer for the Game finished event - viewModel.eventGameFinish.observe(this, Observer { hasFinished -> + viewModel.eventGameFinish.observe(viewLifecycleOwner, Observer { hasFinished -> if (hasFinished) gameFinished() }) diff --git a/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt b/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt index d9de174..a999052 100755 --- a/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt +++ b/GuessTheWordLiveData/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt @@ -56,14 +56,14 @@ class ScoreFragment : Fragment() { .get(ScoreViewModel::class.java) // Add observer for score - viewModel.score.observe(this, Observer { newScore -> + viewModel.score.observe(viewLifecycleOwner, Observer { newScore -> binding.scoreText.text = newScore.toString() }) binding.playAgainButton.setOnClickListener { viewModel.onPlayAgain() } // Navigates back to game when button is pressed - viewModel.eventPlayAgain.observe(this, Observer { playAgain -> + viewModel.eventPlayAgain.observe(viewLifecycleOwner, Observer { playAgain -> if (playAgain) { findNavController().navigate(ScoreFragmentDirections.actionRestart()) viewModel.onPlayAgainComplete() diff --git a/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt b/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt index 02d303e..15e9057 100755 --- a/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt +++ b/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/game/GameFragment.kt @@ -57,9 +57,9 @@ class GameFragment : Fragment() { // to all the data in the VieWModel binding.gameViewModel = viewModel - // Specify the current activity as the lifecycle owner of the binding. + // Specify the fragment view as the lifecycle owner of the binding. // This is used so that the binding can observe LiveData updates - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner // Observer for the Game finished event diff --git a/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt b/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt index 952ebbd..8c67e0e 100755 --- a/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt +++ b/GuessTheWordTransformation/app/src/main/java/com/example/android/guesstheword/screens/score/ScoreFragment.kt @@ -55,9 +55,9 @@ class ScoreFragment : Fragment() { .get(ScoreViewModel::class.java) binding.scoreViewModel = viewModel - // Specify the current activity as the lifecycle owner of the binding. + // Specify the fragment view as the lifecycle owner of the binding. // This is used so that the binding can observe LiveData updates - binding.lifecycleOwner = this + binding.lifecycleOwner = viewLifecycleOwner // Navigates back to game when button is pressed viewModel.eventPlayAgain.observe(this, Observer { playAgain ->