android - 改造后续调用不起作用
问题描述
我有这样的东西
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 是全局定义的
解决方案
在 Retrofit 中,每个“调用”实例都链接到一个 API 调用(单个网络请求)并且不能重复使用。您可以重用 RetrofitServe 实例,但对于每个新的 API 调用,您必须创建一个新的 Call 对象并将其单独加入队列
推荐阅读
- python - 在 OOP 中使用方法时,如何保存这些方法所做的调整?(二十一点游戏)
- html - 为什么我的盒子容器大小不一样而且不在屏幕中间
- listview - 匿名新的AdapterView.OnItemClickListener() 可以替换成lambda解决方案
- c# - 如果将相同数量的值传递给存储过程,则会出错
- javascript - vue-drag-resize 支持 vue3 项目吗?
- selenium - 在 Appium 中为 iOS 设备测试 OTP 验证
- javascript - 为什么在电子中调用警报后我不能专注于输入元素?
- python - 如何在 Python 中使用增量
- go - 如何使用 cgo 和 .def 文件构建 dll
- python-3.x - 我在使用 *mul* 运算符乘以变量时遇到问题