Сначала у меня есть вызов метода внутри блока setOnClickListener
, который получает какое-то значение от API, который я использую для запуска живого потока, важно, чтобы этот вызов метода завершился, прежде чем что-либо еще будет сделано внутри блока в чтобы получить правильный результат, потому что все остальное после этого вызова метода первой строки зависит от этого.
Фрагмент кода:
myButton.setOnClickListener {
// Everything depends on check stream call
currentViewModel.checkStream()
if (!PlaybackService.isServiceStarted) {
if (isStreaming!!) {
onPlayerStart()
sliding_player.panelState = SlidingUpPanelLayout.PanelState.COLLAPSED
} else
Snackbar.make(appbar, R.string.stream_fail, Snackbar.LENGTH_LONG).show()
}
}
Мне нужно, чтобы блок myButton.setOnClickListener
ожидал
currentViewModel.checkStream()
для правильной работы следующих строк (дать правильный результат).
Возможно ли это сделать? Используя какой-то метод обратного вызова? Должен ли я сделать это с Retrofit2?