简体   繁体   English

Rx Kotlin / Java可观察到的状态

[英]Rx Kotlin/Java Observable on state

Is any way to create an RxJava2 Observable to notify state changes? 有什么方法可以创建RxJava2 Observable来通知状态更改? like: 喜欢:

private var internalState = "state1"
val state: Observable<String> = Observable(...)
...
fun updateState(newState: String) { ... } // !!! attention: I need to notify all subscribers about this new state

then use it every where like: 然后在每个地方使用它:

// observe on state
state.subscribe(...)

this subscription must be called every state updates 此订阅必须在每个状态更新时调用

After some research: 经过研究:

val source = PublishSubject.create<String>()

var state = "state1"
    get() = field // redundant: only to show it's possible to get state directly: maybe for class internal usages
    set(value) {
        field = value
        source.onNext(field)
    }

Now use normal subscribe s or create new Observable from source 现在使用常规的subscribe或从source创建新的Observable

source.subscribe(...)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM