I want to disable swipe of child viewpager which is in a parent viewpager.
I currently use this custom child viewpager
public class CustomViewPager extends ViewPager {
public CustomViewPager(Context context) {
super(context);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
// Never allow swiping to switch between pages
return true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// Never allow swiping to switch between pages
return true;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
return true;
}
}
This disable swipe of child viewpager,but the parent viewpager swiping get disabled at that portion.
You should return false from both onInterceptTouchEvent
and onTouchEvent
in the child ViewPager. Returning True from onTouchEvent will tell the parent that the view has handled the event successfully, which is not what you want.
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
// Never allow swiping to switch between pages
return false;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
// Never allow swiping to switch between pages
return false;
}