Бесконечная полоса прогресса с использованием JSON и Recycler View Android?

Я хочу реализовать загрузку большего индикатора выполнения после 10 изображений или позиции в моем режиме ресайклера.

Вот скриншот, который дает вам больше идей

введите описание изображения здесь

Я получаю данные из JSON. Вот пример моего кода

[{

"name": "Thick Wallpaper",

"url":{

    "small": "https://i.pinimg.com/originals/b1/99/57/b19957de05529750cf4d8270441d5f95.jpg",

    "medium": "https://i.pinimg.com/originals/b1/99/57/b19957de05529750cf4d8270441d5f95.jpg",

    "large": "https://i.pinimg.com/originals/b1/99/57/b19957de05529750cf4d8270441d5f95.jpg"

},

"status":"New",

"uploadby":"Admin",

"timestamp": "July 7, 2020"
},{

"name": "Thick Wallpaper",

"url":{

    "small": "https://images.pexels.com/photos/1156684/pexels-photo-1156684.jpeg",

    "medium": "https://images.pexels.com/photos/1156684/pexels-photo-1156684.jpeg",

    "large": "https://images.pexels.com/photos/1156684/pexels-photo-1156684.jpeg"

},

"status":"Old",

"uploadby":"Admin",

"timestamp": "July 1, 2020"

...

...

...
}]

В Java я получаю изображения в Java вот так. Здесь в каждой строке отображаются 2 изображения в виде сетки.

RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(), 2);
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setAdapter(mAdapter);

    fetchImages(endpoint);

    private void fetchImages(String endpoint) {


    JsonArrayRequest req = new JsonArrayRequest(endpoint,
            new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {
                    Log.d(TAG, response.toString());


                    images.clear();
                    for (int i = 0; i < response.length(); i++) {
                        try {
                            JSONObject object = response.getJSONObject(i);
                            Image image = new Image();
                            image.setName(object.getString("name"));

                            JSONObject url = object.getJSONObject("url");
                            image.setSmall(url.getString("small"));
                            image.setMedium(url.getString("medium"));
                            image.setLarge(url.getString("large"));
                            image.setStatus(object.getString("status"));
                            image.setUploadby(object.getString("uploadby"));
                            image.setTimestamp(object.getString("timestamp"));

                            images.add(image);

                        } catch (JSONException e) {
                            Log.e(TAG, "Json parsing error: " + e.getMessage());
                        }
                    }

                    mAdapter.notifyDataSetChanged();
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "Error: " + error.getMessage());
        }
    });

    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(req);
}

Вот мой адаптер галереи

public class GalleryAdapter extends RecyclerView.Adapter<GalleryAdapter.MyViewHolder>  {
private List<Image> images;
private Context mContext;

public static class MyViewHolder extends RecyclerView.ViewHolder {
    public ImageView thumbnail;
    TextView status;

    public MyViewHolder(View view) {
        super(view);
        thumbnail = (ImageView) view.findViewById(R.id.thumbnail);
        status = view.findViewById(R.id.status_gallery);
    }
}


public GalleryAdapter(Context context, List<Image> images) {
    mContext = context;
    this.images = images;
}

@NonNull
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.gallery_thumbnail, parent, false);

    return new MyViewHolder(itemView);
}

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    Image image = images.get(position);

    Glide.with(mContext).load(image.getMedium())
            .thumbnail(0.5f)
            .into(holder.thumbnail);

}

@Override
public int getItemCount() {
    return images.size();
}
}

person Rohit Kumar Sehrawat    schedule 10.08.2020    source источник
comment
Непонятно, в чем вопрос, не могли бы вы уточнить?   -  person Androidz    schedule 10.08.2020
comment
Прямо сейчас все мое изображение около 80 загружается один раз из моего json, поэтому я хочу показать индикатор выполнения после 10 изображений, а затем загрузить еще изображение 10 изображений при прокрутке вниз и так далее. Пожалуйста, посмотрите скриншот, который я приложил. @Androidz   -  person Rohit Kumar Sehrawat    schedule 10.08.2020