2017-09-27 5 views
-2

RxJava Kotlinフラットマップ分離されたオブジェクトを分割ストリングから戻しません。RxJava Kotlin単一の観測可能オブジェクトから分離オブジェクトを取得する方法<String>

[521934, 2342, FOXTROT] 

しかし、書籍(トーマスNield:学習RxJava/2017/114ページが)、それは区切られた文字列に

521934 
2342 
FOXTROT 
を返すために持っていると言う代わりに、それはそれはリストを返す一覧

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

を返します。

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) } 
関連する問題