我使用RxJava2,完成过程后需要更新一些日志。日志是可变的实时数据。
在subscribe (onSuccess)
方法中,我有一些设置,还调用了一个发布到livedata的方法。但是问题是,它没有发布值到实时数据。 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)
}
除了更新后的实时数据外,我需要将新日志打印到屏幕上。
我也尝试了livedata.setValue(value)
,但是也没有用。
木材命令仅用于调试。
我经常在其他订阅方法中使用方法logsUpdate(...)
,并且有效。