Метод подписки RxJava2 не обновляет изменяемые жилетаты - PullRequest
1 голос
/ 07 июня 2019

Я использую 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(...), часто в других методах подписки, и он работает.

...