Android 阻止fragment里面的ViewPager滑动到最后一项时,再滑动切换到fragment页面的问题

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版权协议,转载请附上原文出处链接和本声明。