gpt4 book ai didi

java - 如何将从 api 收到的响应保存在 arraylist 上?

转载 作者:行者123 更新时间:2023-12-02 00:05:32 25 4
gpt4 key购买 nike

我是改造新手,我想保存来 self 的 api 的响应,就像数组列表上的对象一样。

我已经搜索了解决方案,但我不知道回调方法是如何工作的,而且我不太理解。

public ArrayList<Match> recolectar_partido(){

final ArrayList<Match> datos=new ArrayList<Match>();

Call<List<MatchResponse>> call = RetrofitClient.getInstance().getApi().getmatch();
call.enqueue(new Callback<List<MatchResponse>>() {

@Override
public void onResponse(Call<List<MatchResponse>> call, Response<List<MatchResponse>> response) {
matchlist=response.body();
for (MatchResponse fix:matchlist) {
Integer idfix=fix.getId_fixture();
Integer idsta=fix.getId_stadium();
String fecha=fix.getFecha();
String hora=fix.getHora();
Match variable= new Match(idfix,idsta,fecha,hora);
datos.add(variable);
}
}

@Override
public void onFailure(Call<List<MatchResponse>> call, Throwable t) {
Toast.makeText(getApplicationContext(),"error de conexion",Toast.LENGTH_SHORT).show();
}
});
return datos;
}

我想要填充数组列表。

最佳答案

执行call.execute()而不是enqueue。例如

final ArrayList<Match> datos=new ArrayList<Match>();

Call<List<MatchResponse>> call = RetrofitClient.getInstance().getApi().getmatch();
matchlist= call.execute().body();
for (MatchResponse fix:matchlist) {
Integer idfix=fix.getId_fixture();
Integer idsta=fix.getId_stadium();
String fecha=fix.getFecha();
String hora=fix.getHora();
Match variable= new Match(idfix,idsta,fecha,hora);
datos.add(variable);
}
return datos;

关于java - 如何将从 api 收到的响应保存在 arraylist 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58159344/

25 4 0