Обновление данных, передаваемых через EventBusAndroid

Форум для тех, кто программирует под Android
Anonymous
Обновление данных, передаваемых через EventBus

Сообщение Anonymous »

Я использую библиотеку EventBus для передачи данных (положения и длительности трека) из сервиса с экземпляром Медиаплеера во фрагмент, в котором этот сервис запускается.
AudioService.kt:

Код: Выделить всё

override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
// ...
EventBus.getDefault().post(
PositionAndDurationData(
mediaPlayer.duration,
mediaPlayer.currentPosition
)
)
// ...
}
AudioFragment.kt:

Код: Выделить всё

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// ...
EventBus.getDefault().register(this@AudioFragment)
// ...
}

@Subscribe(threadMode = ThreadMode.MAIN)
fun onEvent(result: PositionAndDurationData) {
audioDuration = result.duration
audioPosition = result.position
}
PositionAndDurationData.kt:

Код: Выделить всё

data class PositionAndDurationData(
var duration: Int,
var position: Int,
)
Есть ли способ каждую секунду обновлять данные, передаваемые в пользовательский интерфейс?

Подробнее здесь: https://stackoverflow.com/questions/786 ... y-eventbus

Вернуться в «Android»