【发布时间】:2018-08-24 06:41:57
【问题描述】:
在我的班级Activity 中,我创建了一个Fragment。为了检测片段是否准备好,我的片段中有一个布尔标志isInitialized。现在我想在我的活动中运行一些代码,为此我必须确保片段已准备好并且isInitialized 为真。现在我写了一些 RxJava 代码来对 Activity 中变量的变化做出反应
Observable.just(fragment.isInitialized)
.filter { _ -> true }
.subscribe { load() }
如果我运行我的应用程序,即使 isInitialized 为 false,也会始终调用 load 方法。我的代码有什么问题?
【问题讨论】:
-
如果
isInitialized是一个字段,您无法对它的更改做出这样的反应。使用BehaviorSubject<Boolean> isInitialized -
嗯,好的。有道理。您能否发布一个代码示例。我是这个主题的新手。
-
将布尔值更改为 BehaviorSubject
标签: android android-activity fragment rx-java2