如何从改造中保存列表响应

时间:2016-10-31 04:37:03

标签: java android call retrofit2

我正在使用改造来获取一些信息。我喜欢将该信息存储在本地变量中,这样如果用户决定喜欢该项目,我可以将其本地保存在设备上。

public void fetchTrailerData(int movieId) {
    ApiInterface apiServies = ApiClient.getClient().create(ApiInterface.class);
    Call<TrailerResponse> call = apiServies.getTrailersForMovie(movieId, BuildConfig.OPEN_WEATHER_MAP_API_KEY);
    call.enqueue(new Callback<TrailerResponse>() {
        @Override
        public void onResponse(Call<TrailerResponse> call, Response<TrailerResponse> response) {
            List<Trailer> trailers = response.body().getResults();
            if (trailers != null && trailers.size() > 0 && !trailers.isEmpty()) {
                Utilities util = new Utilities(mContext);
                util.populateTrailer(mView, trailers);
            }
        }

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

        }
    });
}

当我寻找解决方案时,有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

不,你不能使用局部变量。一旦执行流程超出onResponse方法,将清除局部变量。 相反,使用实例变量并将返回的结果分配给它们。

Here是这样做的一个主要例子。