Android RxJava(Kotlin)、observative.amb和PublishSubject未触发

Android RxJava(Kotlin)、observative.amb和PublishSubject未触发,android,rx-java,kotlin,rx-kotlin,Android,Rx Java,Kotlin,Rx Kotlin,我们试图观察15秒的时间间隔,或者每当我们对主题refreshEventsObject触发onNext时,但没有成功 这个主题是这样开始的 private val refreshEventsObject=PublishSubject() 然后我们试着这样观察它 Observable.merge(Observable.interval(0,15,TimeUnit.SECONDS),refreshEventsObject) .订阅{…} 我们每15秒从间隔中获取一次事件,但受试者在跑步后不会开火 r

我们试图观察15秒的时间间隔,或者每当我们对主题
refreshEventsObject
触发
onNext
时,但没有成功

这个主题是这样开始的

private val refreshEventsObject=PublishSubject()

然后我们试着这样观察它

Observable.merge(Observable.interval(0,15,TimeUnit.SECONDS),refreshEventsObject)
.订阅{…}

我们每15秒从间隔中获取一次事件,但受试者在跑步后不会开火

refreshEventsObject.onNext(0)

任何想法都值得赞赏


(所有内容都是用Kotlin编写的)

请阅读AMB的文档:

具体地说,
仅从第一个观察对象发射所有项目,以发射项目或通知


您正在查找的运算符可能是可观察的。merge

确保未从主线程调用
refreshEventsObject.onNext(0)
,因为它可能导致死锁


另外,使用而不是合并,因为在调用您的主题的onNext时,合并将显示两个事件。

当然,它仍然不起作用。如果我们直接订阅主题,我们会得到事件,但是当与interval流组合/合并时,什么都不会发生。在RxJava中,通过
PublishSubject.create()
创建一个
PublishSubject
静态方法,因为通过无参数构造函数创建一个静态方法不起作用。我不知道RxKotlin是否对此进行了补偿。是的,PublishSubject的Kotlin rx绑定看起来像是
fun PublishSubject():PublishSubject=PublishSubject.create()