原因:外层的ViewPager拦截了触屏事件,所以只能滑动外层的ViewPager
解决方法:在里层的ViePager设置监听器,让外层的ViewPager不拦截,这样就可以滑动里层的ViewPager了
代码如下:
vp.setOnTouchListener(new OnTouchListener() {public boolean onTouch(View v, MotionEvent event) {//如果触屏事件在里层的ViewPager上 (外层的ViewPager可能不仅仅包含里层的ViewPager,还有其他的控件 外层的ViewPager较大),不让外层ViewPager拦截if (event.getAction() == MotionEvent.ACTION_UP) {vp.requestDisallowInterceptTouchEvent(false);}//否则让外层ViewPager拦截else {vp.requestDisallowInterceptTouchEvent(true);}return false;}
});
理解的不算太好,解释的若有瑕疵的话还请多多包涵,敬请指正!
多多评论,谢谢观赏!