2017-07-14 37 views
0

我有这个API接口的Rx Java和改造API调用

@GET("api/..../{commentId}") 
Observable<DiscussionPostRoot> getCommentsInPost(@Path("commentId") String commentId) 

DiscussionPostRoot以前调用的每个项目都有一些领域和对象的名单,该名单中的每个对象我想调用相同的API调用但具有不同的价值。在这一刻,我在做foreach,但API结果出现在不同的时间,我的适配器得到随机值。该怎么办 ;) ?我宁愿不拉姆达的答案,但无论如何如果您使用RxJava可以有拉姆达:)

+1

你能说出它目前的样子吗?我不完全清楚我理解你的描述/要求。 –

回答

0

(和你的API可观察来看,你是),你可以用一些数据流的操作是这样解决的:

https://gist.github.com/tnovoselec/73ba4946d4116e8f05946b5e40a3a031

无论如何,点是先拉根对象,然后从它创建(第一flatmap)一个新的流,则每个对象创建一个新的可观察到的拉评论(第二flatmap),最后收集所有东西都放到一个可以传递给适配器的列表中。

此外,不要忘记添加适当的observeOn()调用,以获得您的UI线程结果。