Заданное значение Livedata игнорируется при многократном вызове.Android

Форум для тех, кто программирует под Android
Anonymous
Заданное значение Livedata игнорируется при многократном вызове.

Сообщение Anonymous »

В следующем коде вызывается только functionC. Метод getValues ​​вызывается из основного потока фрагмента, но функции A и FunctionB пропускаются

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

class MyViewModel() {
fun getValues(){
_livedata.value = SomeFuctionA()
_livedata.value = SomeFuctionB()
_livedata.value = SomeFuctionC()
}
}
Однако, если я изменю метод для явного запуска из основного потока, будут вызываться все функции

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

class MyViewModel() {
fun getValues(){
viewmodelScope.launch(Dispathers.Main){
_livedata.value = SomeFuctionA()
_livedata.value = SomeFuctionB()
_livedata.value = SomeFuctionC()
}
}
}
Это не имеет смысла, поскольку getValues ​​вызывается из MainThread в обоих случаях, однако все функции наблюдаются только во втором случае. Как в идеале убедиться, что живые данные наблюдаются для всех трех функций?

Подробнее здесь: https://stackoverflow.com/questions/789 ... iple-times

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