ViewPager 的 点击事件冲突

        最近做项目的时候 , 有一个看图片的ViewPager(是无限循环的) , 点击图片要跳到photoView . 发现viewpager最后一张图片点击的时候好久才跳到photoView里 . google一下 , 发现解决问题了!

        到后来发现把无限循环的值改为100 , 就不会出现这种要等许久才跳到photoView里 . 


public class ClickableViewPager extends ViewPager {

    private OnItemClickListener mOnItemClickListener;

    public ClickableViewPager(Context context) {
        super(context);

        setup();
    }

    public ClickableViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);

        setup();
    }

    private void setup() {
        final GestureDetector tapGestureDetector = new    GestureDetector(getContext(), new TapGestureListener());

        setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                tapGestureDetector.onTouchEvent(event);

                return false;
            }
        });
    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        mOnItemClickListener = onItemClickListener;
    }

    public interface OnItemClickListener {
        void onItemClick(int position);
    }

    private class TapGestureListener extends GestureDetector.SimpleOnGestureListener {

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if(mOnItemClickListener != null) {
                mOnItemClickListener.onItemClick(getCurrentItem());
            }

            return true;
       }
    }}

   这样子添加事件

  

ClickableViewPager viewPager = (ClickableViewPager) indViewById(R.id.viewPager);viewPager.setOnItemClickListener(new ClickableViewPager.OnItemClickListener() {
            @Override
            public void onItemClick(int position) {
                //your code
            }
        });

 

  附上链接 http://stackoverflow.com/questions/16350987/viewpager-onitemclicklistener

 附上手势检测好文章 http://blog.csdn.net/harvic880925/article/details/39520901

你可能感兴趣的:(ViewPager 的 点击事件冲突)