변수가 변경됐을 때를 알기 위해 RxJava의 PublishSubject, BehaviorSubject를 사용했는데, 코틀린 기본으로 이미 지원하고 있었다.
import kotlin.properties.Delegates var value11: Int by Delegates.observable(1) { property, oldValue, newValue -> Log.w("###", "propertyName: ${property.name}, oldValue: $oldValue, newValue: $newValue") }
이렇게 선언해주고, value11의 값을 바꾸면 이렇게 신호가 온다.
propertyName: value11, oldValue: 1, newValue: 3