Android Kotlin Fundamentals 05.1: ViewModel and ViewModelFactory 번역 #7

이번 태스크에서는 EndGame 버튼을 구현 할 것입니다. 

 

1. GameFragment에서 onEndGame()버튼을 추가 해 주세요. onEndGame()메소드는 사용자가 EndGame 버튼을 눌렀을 때 호출 됩니다.

2. GameFragment의 onCreateView() 메소드 안에서 click listener를 셋팅 해 주는 코드를 작성해보세요. Got It과 Skip 버튼 아래에 binding 변수를 사용 하여 End Game에 대한 리스너를 설정 해 보세요. 

3. GameFragment 안에서 score screen으로 넘어 갈 수 있도록 하는  getFinished()를 추가 해 주세요. Safe Args를 사용 하여 score 데이터를 전달 합니다.

 

/**
* Called when the game is finished
*/
private fun gameFinished() {
   Toast.makeText(activity, "Game has just finished", Toast.LENGTH_SHORT).show()
   val action = GameFragmentDirections.actionGameToScore()
   action.score = viewModel.score
   NavHostFragment.findNavController(this).navigate(action)
}

4. onEndGame() 메소드 안에서 gameFinished()를 호출 해 줍니다.

5. 어플을 실행 해 보세요. 그리고 몇 개의 단어를 넘겨 가며 게임을 진행 해 보세요. 그리고 End Game 버튼을 눌러 보세요. 그러면 score screen으로 넘어 갈 것입니다. 그러나 우리가 safeArg로 전달한 score는 화면에 나타나지 않습니다. 이를 고쳐 봅시다.

댓글



Designed by JB FACTORY