I have a problem when using ViewModel
and LiveData
I am new using ViewModel and LiveData arch components and have the problem when using frag
Ok Finally found the problem and how to solve. LiveData is not designed for single events. For that reason there is a couple of ways to fix it or handle it, this two links were useful for me:
Jose Alcérreca's post dealing with this problem
Jose Alcérreca's EventObserver
Jose Alcérreca's SingleLiveEvent class
Basically:
In ViewModel:
var eventLiveData: MutableLiveData
and In Activity or Fragment:
viewModel.eventLiveData.observe(this, EventObserver {
it?.let {
shortToast(it.message)
}
})