2017-01-30 62 views
0

我偶然發現了類似的答案,並瞭解到RxJava用於多個改造請求。我有3個選項卡的細節電影,電影評論和電影預告片。如何在不同的選項卡tablayout中進行多種改裝呼叫?

在評論選項卡中,我應該撥打電話獲取該電影的評論,並在預告片標籤中撥打電話獲取預告片。那麼在這種情況下,我應該使用rxjava進行多次調用還是可以進行改進?

+0

你可以使用'call.enque(新回撥<> {...})'然後跟單'onResponse's – Malik

回答

1

您不必爲此使用Rxjava。你可以做財產以後這樣的:

// Get details 

Call<ResponseBody> detailCall = apiInterface.getDetails(); 
detailCall .enqueue(new Callback<ResponseBody>() { 
    @Override 
    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { 

    } 

    @Override 
    public void onFailure(Call<ResponseBody> call, Throwable t) { 

    } 
}); 

// Get reviews 

Call<ResponseBody> reviewCall= apiInterface.getReviews(); 
reviewCall.enqueue(new Callback<ResponseBody>() { 
    @Override 
    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { 

    } 

    @Override 
    public void onFailure(Call<ResponseBody> call, Throwable t) { 

    } 
}); 

// Get trailers 

Call<ResponseBody> trailerCall= apiInterface.getTrailer(); 
trailerCall.enqueue(new Callback<ResponseBody>() { 
    @Override 
    public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { 

    } 

    @Override 
    public void onFailure(Call<ResponseBody> call, Throwable t) { 

    } 
}); 
+0

處理怎麼可能有相同的3個電話的變量名叫'call'? – potter13

+0

@ potter13不是。抱歉,是我的錯。已經修復了它 – Malik

0

那麼,你的每個標籤都顯示了同一部電影的不同方面。考慮使用MVP模式,其中模型負責所有REST調用,並且包含該影片的不同細節,並且TabLayout具有片段。每個片段從MVP模式實現「視圖」。在ViewPager初始化期間,將所有視圖都附加到同一模型和演示者(請參閱https://github.com/google/iosched Google示例項目,例如,類MyScheduleActivity:https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/myschedule/MyScheduleActivity.java

相關問題