Как я могу сэкономить на arraylist ответ, который я получаю от моего API? - PullRequest
0 голосов
/ 30 сентября 2019

Я новичок в модернизации и хочу сохранить ответ от моего 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;
    }

Я хочу, чтобы массив был заполнен.

1 Ответ

0 голосов
/ 30 сентября 2019

До 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...