Если я правильно понимаю вопрос, вы можете отправить данные, полученные методом onFinished
, в экземпляр LiveData
, который должен наблюдаться компонентом представления, например,
class RequestViewModel : ViewModel, CallBack {
private val _liveData = MutableLiveData<SomeResult<List<String>>>
val liveData: LiveData<SomeResult<List<String>>> get() = _liveData
fun request() {
Manager.getInstance().request(this)
}
override fun onFinished(result : List<String>?) {
if (result != null) {
_liveData.postValue(SomeResult.success(result))
} else {
_liveData.postValue(SomeResult.failure())
}
}
override fun onFailed() {
_liveData.postValue(SomeResult.failure())
}
}
И где-нибудь в вашемобъект, который соответствует компоненту представления:
viewModel.liveData.observe(lifecycleOwner, Observer<List<String>> {
handleResponse(it)
})
, тогда как lifecycleOwner
обычно является вашим AppCompatActivity
или android.support.v4.Fragment
наследником.