给另一个方法发出一个RxJava Observable

Ste*_*oen 8 java android rx-java

我在Fragment中有一个变量,它会在Fragment的整个生命周期中多次改变它的值.它是由UI交互触发的,所以我认为使用Observable来保存它可能是一个好主意,而不是将所有要更新的视图作为字段并从设置器中进行UI更改.

该值必须通过另一种方法(基本上应该调用onNext()订阅者的setter )更新,而不是通过Observable本身.有没有办法用RxJava的设计做到这一点?

换句话说,我希望有一个Observable字段,并给它新的值来onNext()从类中的另一个方法发出(调用它的订阅者).

Vla*_*nov 16

RxJavaSubjects此目的.例如:

private final PublishSubject<String> subject = PublishSubject.create();

public Observable<String> getUiElementAsObservable() {
    return subject;
}

public void updateUiElementValue(final String value) {
    subject.onNext(value);
}
Run Code Online (Sandbox Code Playgroud)