Fragment里面的ViewPager里面加载了多个图片,当左右滑动图片到最后一项时,再次滑动时触发了activity中加载多个fragment页面的viewpager的页面切换事件,现在的需求是不要触发activity中的ViewPager的页面切换事件。
设置某个fragment里面的viewpager的父控件及以上的控件不拦截滑动事件即可实现。但是这个拦截的时机很重要,需要在dispatchTouchEvent方法中设置。
public class BannerViewPager extends ViewPager {@Override
public boolean dispatchTouchEvent(MotionEvent ev) { if (getCurrentItem() == getAdapter().getCount() - 1) {
tabPager.requestDisallowInterceptTouchEvent(true);
}
return super.dispatchTouchEvent(ev);
}
}
其中tabPager是你不希望它拦截滑动事件的控件,从外部传递进来即可,不局限于viewpager
版权声明:本文为guibao513原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。