【发布时间】:2018-01-27 18:36:42
【问题描述】:
我正在试验 RxJava。我需要一个Observable,它会产生一个HashSet<String>。在Observable 中,我想将Pair<String, Boolean> 放入false 布尔值从结果HashSet 中删除String 键的方式。这是我所拥有的代码sn-p:
private val selectionSubject = ReplaySubject.create<Pair<String, Boolean>>()
init {
selectionSubject.onNext(Pair("dd", false))
selectionSubject
.collect({HashSet<String>()}, {dest, value -> collectSelection(dest, value)})
.subscribe { t1, t2 -> Log.d(TAG, t1.toString())}
}
private fun collectSelection(dest: HashSet<String>, value: Pair<String, Boolean>): HashSet<String> {
if (value.second) {
dest.add(value.first)
} else {
dest.remove(value.first)
}
Log.d(TAG, "collectSelection, ${dest.toString()}")
return dest
}
在日志中,我可以看到 collectSelection 被调用,但我的订阅侦听器没有。
如何解决?
【问题讨论】:
标签: java android kotlin rx-java rx-java2