我正在尝试编写一个observable,当用户按下视图时会生成重复的事件。我的下面的代码效果很好,但只是第一次(例如,如果用户再次按下按钮,则没有任何反应)。你能告诉我我做错了什么,最好的做法是什么?
foo.get()
答案 0 :(得分:0)
问题是match = [l for l in cleaned_list if l['Schluesse'] == '980100']
for x in match:
print(x)
可观察量不能超过1个来源。这意味着当RxView.touches
内的订阅发生时,它会破坏用于触发flatMap
的原始订阅,从而使其永远不再发生。
有两种可能的方法:
flatMap
分享事件来源,而不是使用.publish(...)
。touches
开/关可观察对象,然后Boolean
根据可观察对象的当前值执行相应的操作。1
switchMap
2
touches.publish { src ->
src.filter(...)
.flatMap {
Observable.interval(...)
.takeUntil(src.filter(...))
}
}