I'm creating an app just like instagram and I want to show images and videos in viewpager just like instagram does.
I'm getting images and videos from server and I want to show those in viewpager.
This is how I'm showing images for my posts in viewpager.
public class PostImageViewAdapter extends PagerAdapter {
private Context context;
private ArrayList<String> strUrls;
public PostImageViewAdapter(ArrayList<String> strUrls, Context context) {
this.strUrls = strUrls;
this.context = context;
}
@Override
public int getCount() {
return strUrls.size();
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView postImage = new ImageView(context);
VideoView postVideo = new VideoView(context);
Glide.with(context)
.load(strUrls.get(position))
.into(postImage);
postImage.setScaleType(ImageView.ScaleType.FIT_XY);
container.addView(postImage);
return postImage;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
}
its working perfectly but I don't know how to show videos when there is a video and an image in a post and that need to be shown in same viewpager. I used this viewpager in a recyclerview.
please guide me how to achieve this.