Обновление пользовательского интерфейса при изменении свойства - PullRequest
0 голосов
/ 31 мая 2019

Моя конечная цель - обновить пользовательский интерфейс при изменении свойства объекта. Я читал о моем подходе здесь: https://www.kotlindevelopment.com/delegates-observable/

Вот мой сокращенный код, который никогда не отображает тост, поскольку classA.onChange всегда имеет значение null.

class A {
    var propertyToObserve:Long by observable(0L) { _, oldValue, newValue ->
        onChange?.invoke(oldValue, newValue)
    }
    var onChange: ((Long, Long) -> Unit)? = null
}

class B {   
    var classA = A()    
    classA.onChange = {
        Toast.makeText(this, "Property changed", Toast.LENGTH_SHORT).show()
    }       
    A.propertyToObserve = 15L
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...