LiveData (Which is similar to ObservableObject in SwiftUI)

This is my note for Udemy lesson: Advanced Android Bootcamp 2024.

1. Create ViewModel

Please check the previous note.

2. Edit ViewModel

class MainActivityViewModel: ViewModel() {
  private val _count = MutableLiveData(0)
  val count: LiveData<Int> get() = _count
  fun add() {
    _count.value = _count.value?.plus(1)
  }
}

3. Edit onCreate() Function in MainActivity

override fun onCreate(savedInstanceState: Bundle?) {
  ...
  viewModel.count.observe(this, Observer {
    binding.countText.text = it.toString()
  })
  viewModel.addButton.setOnclickListener {
    viewModel.add()
  }
}