2017-02-09 69 views
0

我需要在RecyclerView中顯示遊戲列表。 問題是數據結構。我有團隊(團隊的名稱應該是列表中僅包含照片的標題),並且在每個團隊陣列內的「遊戲」數組下面有更多的Game對象。 我打電話與可觀測改造調用API:rxAndroid操縱數據獲取列表

RestManager.get() 
     .api() 
     .getLastGames(params...) 
     .compose(Transformer.applyIO))  
.subscribe(listener::LastGameDataReady)); 

的JSON我從服務器獲取看起來如下: enter image description here 我怎麼編輯響應得到List<Game>到訂閱界面,而不是總ResponseObject

回答

0

我怎麼編輯響應得到列表中訂閱的,而不是總ResponseObject 接口

您可以使用map運營商的是,它的任務是改造的Observable

RestManager.get() 
    .api() 
    .getLastGames(params...) 
    .compose(Transformer.applyIO))  
    .map(responseObj -> // extract and return your list) 
    .subscribe(listener::LastGameDataReady)); 

發射項目如果LastGameDataReady的唯一參數是地圖運營商返回的相同類型的List<>,你仍然可以如果你想從這個JSON響應,我會建議你使用concatMap提取遊戲列表中獲得List<Game>後來toList將它們合併回用::操作

0

RestManager.get() 
     .api() 
     .getLastGames(params...) 
     .concatMap(Observable::from) 
     .concatMap(team -> Observable.from(team.getGames())) 
     .toList() 
     .compose(Transformer.applyIO))  
.subscribe(listener::LastGameDataReady)); 
+0

太棒了!謝謝先生 – Andro