java - 方法总是返回空列表
问题描述
我在android开发中使用mvp设计模式,我正在使用retrofit2 ...当我运行该函数以从网络获取信息时,它获取信息但返回空列表
Response.Body 带有响应,这意味着代码有效
模型函数
List<SearchDdb> searchResult;
private Context context;
public MainModel(Context context){this.context=context;}
public List<SearchDdb> searchUser(String name) {
final MainPresenter presenter = new MainPresenter(context);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://jsonplaceholder.typicode.com/")
.addConverterFactory(GsonConverterFactory.create())
.build();
Db db = retrofit.create(Db.class);
Call<List<SearchDdb>> call = db.getUsers(name);
call.enqueue(new Callback<List<SearchDdb>>() {
@Override
public void onResponse(Call<List<SearchDdb>> call, Response<List<SearchDdb>> response) {
if(!response.isSuccessful()){
presenter.showDialog();
}
searchResult = response.body();
}
@Override
public void onFailure(Call<List<SearchDdb>> call, Throwable t) {
}
});
return searchResult;
}
SearchDdb 文件
private int id;
private String name;
private String grade;
private String age;
private String address;
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getGrade() {
return grade;
}
public String getAge() {
return age;
}
public String getAddress() {
return address;
}
}
我如何调用函数
List<SearchDdb> ressult = presenter.searchUser("1");
解决方案
推荐阅读
- xcode - 使用运行脚本检测自定义配置的调试或发布
- jsf - JSF 组件寻址
- python - 如何找到从包含时间的数据集中导入的时间差异
- javascript - 在 Array Angular 6 中解析和转换数据类型
- android - 在将值插入数据库时,工作管理器无法处理后台线程
- django - Django 过滤器 - 对结果进行分页
- excel - 有没有办法提取包含特定单词的所有句子?
- java - 就空间/时间复杂度而言,哪一个更好?
- javascript - 授权成功后如何重定向到主页?
- azure - 使用 Azure B2C openid connect 找不到用于检查会话的终结点