I'm loading images from my server to the recycler view.Now on click of recycler view I'm sending only the clicked image's link but I wanna pass the whole array of images onClick to the view pager in order to display the images side by side. So,can anyone please help me to do this.
My RecyclerView's adapter code is :
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private List<ListItem> listItems;
private Context context;
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View v = LayoutInflater.from(parent.getContext())
                           .inflate(R.layout.list_item,parent,false);
    return new ViewHolder(v);
}
public MyAdapter(List<ListItem> listItems, Context context) {
    this.listItems = listItems;
    this.context = context;
}
@Override
public void onBindViewHolder(final MyAdapter.ViewHolder holder, int position) {
    final ListItem listItem=listItems.get(position);
    Glide.with(context).load(listItem.getImageUrl()).centerCrop().into(holder.iv);
    holder.ln.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    String s=listItem.getImageUrl();
                    Intent i=new Intent(context,ImageShow.class);
                    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    i.putExtra("Image",s);
                    context.startActivity(i);
                }
            }
    );
}
@Override
public int getItemCount() {
    return listItems.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
    public ImageView iv;LinearLayout ln;
    public ViewHolder(View itemView) {
        super(itemView);
        iv=(ImageView)itemView.findViewById(R.id.imageView);
        ln=(LinearLayout)itemView.findViewById(R.id.linLay);
    }
} }
Now in my view pager class now it's showing an array of images from drawable:
    public class CustomAdapter extends PagerAdapter {
    private int[] images = {R.drawable.c,R.drawable.d,R.drawable.e};
    private Context ctx;
    private LayoutInflater inflater;
    public CustomAdapter(Context ctx){
        this.ctx = ctx;
    }
    @Override
    public int getCount() {
        return images.length;
    }
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return (view ==(RelativeLayout)object);
    }
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        inflater = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View v = inflater.inflate(R.layout.swipe,container,false);
        ImageView img =(ImageView)v.findViewById(R.id.imageView);
        img.setImageResource(images[position]);
        container.addView(v);
        return v;
    }
    @Override
    public void destroyItem(View container, int position, Object object) {
        container.refreshDrawableState();
    }
}
 
    