原因:外层的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;
}
});
理解的不算太好,解释的若有瑕疵的话还请多多包涵,敬请指正!
多多评论,谢谢观赏!