Previously, we saw how to work with delegated properties. In this recipe, we will learn how to work with the observable delegate. This delegate helps us observe any changes to the property. So let's get started.
We will be using IntelliJ IDEA for writing code. You can use any IDE where you are able to execute Kotlin code.
The observable delegates take in a default value and a construct where we have old and new values. Let's take a look at the next example:
fun main(args: Array<String>) { var a:String by Delegates.observable("",{_,oldValue,newValue -> println("old value: $oldValue, new value: $newValue ") }) a="a" a="b" >} //Output:old value: , new value: a old value: a, new value: b
In the preceding example, we have provided the initial value as an empty string. The construct will be executed every time we try to update the value of the a
property. We have changed the value of a
two times and...