It is necessary before the bind to somehow load the images so that there is no slowdown in loading
public void onBindViewHolder(ViewHolder holder, int position) { Product product = Products.get(position); if (position < Products.size() - 2 ){ Picasso.with(contexts).load(BitmapUrlHelper.getPictureUrl(contexts, Products.get(position + 1).getImage(), 80)) .fetch(); } if (position > 0 ){ Picasso.with(contexts).load(BitmapUrlHelper.getPictureUrl(contexts, Products.get(position - 1).getImage(), 80)) .fetch(); } if (product.getImage_preview_android() == null){ setBackground(product.getImage(), holder.background_view, true) } else setBackground(product.getImage_preview_android(), holder.background_view,false); } private void setBackground(String imageUrl, ImageView background, boolean croped) { Picasso.with(contexts).setIndicatorsEnabled(false); if (croped) Picasso.with(contexts) .load(BitmapUrlHelper.getPictureUrl(contexts, imageUrl, 80)).centerInside().resize(((displayWidth) - 10), (Integer) ((displayHigh) / 5)).placeholder(R.drawable.cart) .into(background); // loadBackgroundImage(background,BitmapUrlHelper.getPictureUrl(contexts, imageUrl, 80),((displayWidth) - 10), (Integer) ((displayHigh) / 5)); else { Picasso.with(contexts) .load(BitmapUrlHelper.getPictureUrl(contexts, imageUrl, 80)).fit() .into(background); } }