вы можете создать параметр состояния с помощью перечисления или запечатанного класса, например:
enum class State { ApiOneSuccess, ApiTwoSuccess, Error }
, а затем вы создадите LiveData этого состояния в вашей ViewModel:
val liveState = MutableLiveData<State>()
Я не знать, что вы используете для обратного вызова API, но вы должны поместить liveState.postValue(ApiOneSuccess)
в свой обратный вызов onSuccess для первого API и сделать то же самое для onError и второго API
, тогда вы можете наблюдать эти LiveData в onCreate своей активности и выполните правильные действия:
viewModel.liveState.observe(this) { state ->
state?.also {
when (it) {
ApiOneSuccess -> { // do what you need to do }
ApiOneSuccess -> { // do what you need to do }
Error -> { // do what you need to do }
}
viewModel.liveState.postValue(null)
}
}
}
Надеюсь, концепция вам понятна