Glide скачивает только одно изображение из списка

Есть задача скачать несколько изображений по url, хранящимся в json. Для получения json с сайта использую volley, для скачивания изображений и сохранения в файл использую glide. Проблема в том, что glide сохраняет только последнее изображение из списка.

public class MainActivity extends AppCompatActivity {

    private static final String URL_DATA = "https://sokrsokr.net/wp-json/wp/v2/posts?&orderby=date&page=1&per_page=10";    
    String image_url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        loadUrlData();
    }

    private void loadUrlData() {
        final ProgressDialog progressDialog = new ProgressDialog(this);
        progressDialog.requestWindowFeature(Window.FEATURE_RIGHT_ICON);
        progressDialog.setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON, R.drawable.logo);
        progressDialog.setMessage("Загружается...");
        progressDialog.show();

        StringRequest stringRequest = new StringRequest(Request.Method.GET,
                URL_DATA, new Response.Listener<String>() {

            @Override
            public void onResponse(String response) {
                progressDialog.dismiss();


                try {
                    JSONArray jsonArray = new JSONArray(response);

                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject jsonObject = jsonArray.getJSONObject(i);
                        image_url = jsonObject.getString("jetpack_featured_media_url");
                        Glide.with(getApplicationContext()).asBitmap().load(image_url).listener(new RequestListener<Bitmap>() {
                            @Override
                            public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
                                return false;
                            }
                            @Override
                            public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
                                return false;
                            }
                        }).into(new CustomTarget<Bitmap>() { 
@Override 
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
image_url = image_url.split("\\?")[0];
final String name = image_url.substring(image_url.lastIndexOf('/') + 1);
final String image_file = String.valueOf(getExternalFilesDir(null)) + File.separator + name;
File file = new File(image_file);
FileOutputStream out;
try {
out = new FileOutputStream(file);
resource.compress(Bitmap.CompressFormat.JPEG, 100, out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {

}
}
                        );
                        
                    };
                } catch (JSONException e) {
                    Log.e("MYTAG", "Ошибка: " + e.getMessage());
                }
            }
        }, new Response.ErrorListener() {
            public void onErrorResponse(VolleyError error) {
                progressDialog.dismiss();
                final Toast tag = Toast.makeText(getBaseContext(), "Отсутствует интернет-соединение", Toast.LENGTH_SHORT);
                tag.show();
                new CountDownTimer(30000, 1000) {
                    public void onTick(long millisUntilFinished) {
                        tag.show();
                    }

                    public void onFinish() {
                        tag.show();
                    }
                }.start();
            }
        });

        RequestQueue requestQueue = Volley.newRequestQueue(this);
        stringRequest.setRetryPolicy(new DefaultRetryPolicy(60 * 1000, 2, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
        requestQueue.add(stringRequest);
    }
    
}

Я также пытался использовать Picasso, но при этом не скачалось ни одно изображение вообще.


Ответы (0 шт):