RXJava-concat不';t工作
我在使用RXJava和Kotlin时遇到问题 我使用的是LiveData和Rx,我的问题是concat方法没有连接虚拟数据中的两个数组 这是我的代码:RXJava-concat不';t工作,java,android,kotlin,reactive,Java,Android,Kotlin,Reactive,我在使用RXJava和Kotlin时遇到问题 我使用的是LiveData和Rx,我的问题是concat方法没有连接虚拟数据中的两个数组 这是我的代码: disposables. add( Observable.concat(Observable.just(DummyContent.COMPANIES), Observable.just(DummyContent.COMPANIES))
disposables.
add(
Observable.concat(Observable.just(DummyContent.COMPANIES),
Observable.just(DummyContent.COMPANIES))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({
Timber.d("get companies success ${it.size}" )
companiesLiveData.value = it
},{
t -> Timber.e(t, "get companies error")
}))
内容:
val COMPANIES: MutableList<Company> = ArrayList()
...
// Add some sample items.
for (i in 1..4) {
addCompany(createDummyCompany(i))
}
val公司:MutableList=ArrayList()
...
//添加一些示例项。
对于(1..4中的i){
addCompany(createDummyCompany(i))
}
当我运行代码时,我只看到列表中的4个元素,我希望收到4+4=8项,因为concat
方法
在LogCat中,我两次看到这样的信息:让公司成功4
如何实现这一点?可观察的
concat()
将给定给它的两个流连接起来。因此,您将在单个列表中收到两个事件。如果要合并列表本身,则必须发出单个元素而不是列表,并使元素再次成为列表
Observable.concat(Observable.fromIterable(DummyContent.COMPANIES),
Observable.fromIterable(DummyContent.COMPANIES))
.toList()
太棒了,它工作了,你能告诉我:Observable.fromIterable和Observable.just,两者的返回值不一样吗?第一个发射iterable的每个元素,第二个发射iterable本身。