2017-09-27 60 views
-2

RxJava Kotlin平面图不会从分割字符串中返回分离对象。而是返回列表RxJava Kotlin如何从单个可观察对象中获取分离对象<String>

val source: Observable<String> = Observable.just("521934/2342/FOXTROT") 
.flatMap{Observable.fromArray(it.split("/"))} 
.subscribe{Log.d(TAG, "$it")} 

它返回列表:

[521934, 2342, FOXTROT] 

但书(托马斯·尼尔德:学习RxJava/2017年/页114)表示,它已经返回分隔字符串

521934 
2342 
FOXTROT 

example from book

http://reactivex.io/documentation/operators/flatmap.html表示它返回Single对象。在我的情况下,我得到了单列表对象。所以,文档说的是真的。但是我想要像书中的例子那样得到结果!

我如何分割列表并获得分离的对象?

回答

0

flatMapIterable制作使用,所以你可以从列表中的项目流:

Observable.just("521934/2342/FOXTROT") 
      .flatMap { input -> Observable.fromArray(input.split("/")) } 
      .flatMapIterable { items -> items } 
      .subscribe { item -> Log.d(TAG, item) } 
相关问题