mViewPager.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
mViewPager.getParent().requestDisallowInterceptTouchEvent(true);
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public boolean onTouch(View v, MotionEvent event) {
v.getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
});
mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
mViewPager.getParent().requestDisallowInterceptTouchEvent(true);
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
有时候在滑动VIewPager的时候触发onClick事件。这时候需要注释掉
mPager.getParent().requestDisallowInterceptTouchEvent(true);
本文讨论了在滑动ViewPager时意外触发onClick事件的情况,并提供了通过设置ViewParent.requestDisallowInterceptTouchEvent来解决该问题的方法。同时,还强调了在进行页面切换操作时需要注意的细节,以避免不必要的事件冲突。
1664

被折叠的 条评论
为什么被折叠?



