我需要在RecyclerView中显示游戏列表。 问题是数据结构。我有团队(团队的名称应该是列表中只有一张照片的标题),并且在每个团队阵列中的“游戏”数组中有更多Game对象。 我用Observable改装电话呼叫api:
strace
我从服务器获得的JSON如下所示:
enter image description here
如何编辑响应以获取 RestManager.get()
.api()
.getLastGames(params...)
.compose(Transformer.applyIO))
.subscribe(listener::LastGameDataReady));
到订阅接口而不是总响应对象
答案 0 :(得分:0)
如何编辑响应以获取订阅列表 接口而不是总ResponseObject
您可以使用map运算符,该任务将转换Observable
的发出项
RestManager.get()
.api()
.getLastGames(params...)
.compose(Transformer.applyIO))
.map(responseObj -> // extract and return your list)
.subscribe(listener::LastGameDataReady));
如果LastGameDataReady
的唯一参数是地图运算符中返回的相同类型的List<>
,您仍然可以使用::
运算符
答案 1 :(得分:0)
如果您想从此JSON回复中获取concatMap
,我建议您使用toList
提取游戏列表,稍后RestManager.get()
.api()
.getLastGames(params...)
.concatMap(Observable::from)
.concatMap(team -> Observable.from(team.getGames()))
.toList()
.compose(Transformer.applyIO))
.subscribe(listener::LastGameDataReady));
将其合并回来。
static