更新属性更改的用户界面

时间:2019-05-31 15:47:19

标签: kotlin observable

我的最终目标是在对象的属性更改时更新UI。 我在这里了解了自己的方法: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
}

0 个答案:

没有答案