Допустим, у нас есть простой класс модели:
data class Model(val value: Int)
, и мы обернем эту модель в LiveData
:
val model1 = MutableLiveData<Model>()
Теперь мы можем создать вторую переменную, которая использует model1
:
val model2 = model1.distinctUntilChanged()
и давайте установим значение на model1
и напечатаем значения для обеих моделей "
model1.value = Model(0)
print(model1.value.toString()) // Model(value=0)
print(model2.value.toString()) // null
Проблема в том, что model2.value
равно нулю. Конечно, если я Удалите преобразование DifferentUntilChanged (), оно работает нормально.