onClick on ViewPager not triggered

后端 未结 8 1177
有刺的猬
有刺的猬 2020-11-28 04:49

I set a click listener on a ViewPager, but the onClick event is never called. I guess the touch event detection of the ViewPager is interfering, bu

8条回答
  •  时光取名叫无心
    2020-11-28 05:25

    I done like that...

    mViewPager.setOnTouchListener(new View.OnTouchListener() {
        float oldX = 0, newX = 0, sens = 5;
    
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                oldX = event.getX();
                break;
    
            case MotionEvent.ACTION_UP:
                newX = event.getX();
                if (Math.abs(oldX - newX) < sens) {
                    itemClicked(mViewPager.getCurrentItem());
                    return true;
                }
                oldX = 0;
                newX = 0;
                break;
            }
    
            return false;
        }
    });
    

提交回复
热议问题