我偶然发现了类似的答案,并了解到RxJava用于多个改装请求。我有3个标签,可以查看电影的详细信息,电影评论和电影预告片。
在评论标签中,我应该打电话来获取该电影的评论,在预告片标签中,我应该打电话来获取预告片。那么在这种情况下,我应该使用rxjava进行多次调用,还是可以进行改造?
答案 0 :(得分: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) {
}
});
答案 1 :(得分:0)
好吧,每个标签都会显示同一部电影的不同方面。考虑使用MVP模式,其中模型负责所有REST调用,并包含该电影的不同细节,以及具有片段的TabLayout。每个片段实现&#39; view&#39;来自MVP - 模式。在ViewPager初始化期间将所有视图附加到同一模型和演示者(请参阅Google的https://github.com/google/iosched示例项目,例如,类MyScheduleActivity:https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/myschedule/MyScheduleActivity.java)