Reputation: 913
I have ViewPager and FragmentPagerAdapter and I want to show a big amount of images with good quality. I have custom FragmentPagerAdapter and I put into it array with paths to images and then i am creating fragment for every image. The problem is in that when I have a lot of images scrolling between ViewPager items becomes too slow. What are the ways to make fast scrolling?
Upvotes: 0
Views: 1459
Reputation: 3037
You can use PagerAdapter
override destroyItem
it works well for huge images:
private class ImagePagerAdapter extends PagerAdapter{
@Override
public int getCount() {
return mPhotos.size();
}
@Override
public boolean isViewFromObject(View view, Object obj) {
return obj.equals(view);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager)container).removeView((View)object);
}
@Override
public Object instantiateItem(ViewGroup view, int position) {
View imageLayout = getLayoutInflater().inflate(R.layout.item_pager_image, view, false);
ImageView imageView = (ImageView) imageLayout.findViewById(R.id.image);
// set up imageView
view.addView(imageLayout, 0);
return imageLayout;
}
}
Upvotes: 2