gpt4 book ai didi

java - 在订阅时发出最新值的 RxJava Observable

转载 作者:行者123 更新时间:2023-11-29 04:20:40 24 4
gpt4 key购买 nike

我正在使用 RxJava2 构建一个 Android MVVM 应用程序。我想要的是在我的 ViewModel 中公开一个 Observable,我也可以接收最后发出的值(如 BehaviourSubject)。我不想公开 BehaviourSubject,因为我不希望 View 能够调用 onNext()

例如,在我的 ViewModel 中,我公开了一个日期。我现在想订阅一个 TextView 来更改,但如果我想显示一个以此日期作为初始值的 DatePickerDialog,我还需要能够访问当前值。

实现此目标的最佳方法是什么?

最佳答案

代表:

class TimeSource {
final BehaviorSubject<Long> lastTime = BehaviorSubject.createDefault(
System.currentTimeMillis());

public Observable<Long> timeAsObservable() {
return lastTime;
}

public Long getLastTime() {
return lastTime.getValue();
}

/** internal only */
void updateTime(Long newTime) {
lastTime.onNext(newTime);
}
}

关于java - 在订阅时发出最新值的 RxJava Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49428608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com