RxJava2订阅方法不更新可变实时数据

时间:2019-06-07 12:11:30

标签: android kotlin rx-java2

我使用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(...),并且有效。

0 个答案:

没有答案