首页 > 解决方案 > 改造后续调用不起作用

问题描述

我有这样的东西

Retrofit retrofit =new retrofit2.Retrofit.Builder()
                .baseUrl("URL")
                .addConverterFactory(GsonConverterFactory.create())
                .build();

         requestService = retrofit.create(RequestInterface.class);
         call = requestService.getData(page);

        call.enqueue(new Callback<List<Cats>>() {
            @Override
            public void onResponse(Call<List<Cats>> call, Response<List<Cats>> response) {
                ....

            }

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

            ...
            }
        });

但是,当我想获取第二页时,当我在同一类中请求第二页时,不会调用改造回调方法。

call = requestService.getData(page);//页面增加

call 和 requestService 是全局定义的

标签: androidretrofit

解决方案


在 Retrofit 中,每个“调用”实例都链接到一个 API 调用(单个网络请求)并且不能重复使用。您可以重用 RetrofitServe 实例,但对于每个新的 API 调用,您必须创建一个新的 Call 对象并将其单独加入队列


推荐阅读