Я хочу попытаться установить связь между viewModel с фрагментом через liveData.
В viewModel есть метод нажатия кнопки, который получает результат данных веб-ответа и передает его действительным данным, а затем фрагмент наблюдает эти оперативные данные, чтобы можно было отфильтровать условие для запуска заданного действия c.
class MyViewModel: ViewModel() {
val liveData: LiveData<String> by lazy { // how to late init val liveData?
MutableLiveData<String>()
}
fun buttonSubmit() {
liveData = webFetch().fetchLiveData() // then I can assign web response to it
}
}
class MyFragment : Fragment() {
...
override fun onCreate(savedInstanceState: Bundle?) {
...
val liveDataObserver = Observer<String> { responseData -> // is it right way to observe?
if (responseData...) {
doSomething()
}
}
myViewModel.liveData.observe(this, liveDataObserver)
}
}