Я использую RxJava2 и мне нужно обновить некоторые журналы после завершения процесса.Журналы - это изменяемые метаданные.
В методе subscribe (onSuccess)
у меня есть некоторые назначения, а также вызывается метод, который публикует данные в liveata.Но проблема в том, что он не отправляет значения в aliveata .Команда Timber выполняется нормально.
// rx stuff
.subscribe({ success ->
// ...assigments
controllerLocation = success
connectionText.postValue("Connected!")
// PROBLEM - post livedata
logUpdate("Done")
logUpdate("Changing communication speed")
// ...other methods which are executed fine
otherMethod1()
otherMethod2()
}, { error ->
printError(error)
})
// logsUpdate method that post to livedata
private fun logUpdate(update: String) {
val string = update + '\n' + '\n'
logs.postValue(string + logs.value.orEmpty())
Timber.i(update)
}
I, за исключением обновленные Livingata , потому что мне нужно распечатать новые журналы на экране.Я также пытаюсь livedata.setValue(value)
, но это также не сработало.Команды Timber предназначены только для отладки.
Я использую метод logsUpdate(...)
, часто в других методах подписки, и он работает.