I have a RecyclerView
and when I click on item it should display an imageSlider
with some images(just 2 or 3). Everything works fine but there's a little delay on click, something it takes 2 seconds which is very annoying? How can I fix it?
This is the slider code that load images from an array of bitmaps:
public class ImageAdapter extends PagerAdapter {
private Context context;
private ArrayList<Bitmap> bitmaps;
public ImageAdapter(Context context, ArrayList<Bitmap> bitmaps) {
this.context = context;
this.bitmaps = bitmaps;
}
@Override
public int getCount() {
return bitmaps.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((ImageView) object);
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
Glide.with(container)
.asBitmap()
.centerCrop()
.load(bitmaps.get(position))
.into(imageView);
container.addView(imageView,0);
return imageView;
}
}
Bitmap Scaling:
Or with Glide: