0
public class IMResponseActivity extendsAppCompatActivity implements
ViewPager.OnClickListener {
    private static ViewPager viewPager_response;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            setContentView(R.layout.activity_imresponse);
            setUI();
            setViewPager();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    setViewPager() {
        for (int i = 0; i < IMAGES.length; i++)
            ImagesArray.add(IMAGES[i]);
        viewPager_response = (ViewPager) findViewById(R.id.pager_response);
        CircleIndicator indicator = (CircleIndicator) findViewById(R.id.indicator);
        viewPager_response.setAdapter(new CommonSlideImageAdapter1(IMResponseActivity.this, ImagesArray));
    }


public void onClick(View v) {
    switch (v.getId()) {
        /*  case R.id.pager_response:

                    fragment = new ItemDetailFragment();
                    //Fragment fragment = new SingleProductFragment();
                    //Fragment fragment = new ProfileFragment();
                    // toolbar.setVisibility(View.GONE);
                    container.setVisibility(View.VISIBLE);
                    imresponse_layout.setVisibility(View.INVISIBLE);
                    ft.add(R.id.container_response_details, fragment);
                    ft.addToBackStack(null);
                    ft.commit();

                    break;*/
    }
}

// here is my Adapter Code

public class CommonSlideImageAdapter1 extends PagerAdapter {

    private ArrayList<Integer> IMAGES;
    private LayoutInflater inflater;
    private Context context;


    public CommonSlideImageAdapter1(Context context, ArrayList<Integer> IMAGES) {
        this.context = context;
        this.IMAGES=IMAGES;
        inflater = LayoutInflater.from(context);
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }

    @Override
    public int getCount() {
        return IMAGES.size();
    }

    @Override
    public Object instantiateItem(ViewGroup view, final int position) {
        View imageLayout = inflater.inflate(R.layout.common_slideimage_layout1, view, false);

        assert imageLayout != null;
        final ImageView imageView = (ImageView) imageLayout
                .findViewById(R.id.image);

        imageView.setImageResource(IMAGES.get(position));
        imageView.setClickable(true);

        imageView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {




            }
        });

        view.addView(imageLayout, 0);

        return imageLayout;
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view.equals(object);
    }

    @Override
    public void restoreState(Parcelable state, ClassLoader loader) {

    }

    @Override
    public Parcelable saveState() {
        return null;
    }

}
Milo
  • 3,365
  • 9
  • 30
  • 44

1 Answers1

0

Their is no direct way to implement onItemClick listener and onClickListener in viewpager because it contains different fragments and fragments have their own listeners etc. so the

  • first solution for this is implement click listener in fragment
  • Second solution is to implement your own click listener by extending viewpager class.

to do this there is great solution available ViewPager OnItemClickListener

hope this will help you.

Nouman Ch
  • 4,023
  • 4
  • 29
  • 42