I\'m working on an app which uses many pages to swipe through, however at some pages I would like to be able to prevent scrolling to the next page until they\'ve selected so
I have been googling high and low for a good way to solving this problem... I tried overriding ontouchevent etc...
I decided this was the best solution for me (and less hacky).. was just to implement a maximum or minimum tracker and set it to current page
maxPageToScroll = viewPager.getCurrentItem();
minPageToScroll = viewPager.getCurrentItem();
and then add to "onPageSelected" method:
public void onPageSelected(int position) {
if (position < minPageToScroll) {
viewPager.setCurrentItem(maxPageToScroll);
}
else if (position > maxPageToScroll) {
viewPager.setCurrentItem(maxPageToScroll);
// you can alert here that user needs to do certain actions before proceeding
}
else {
// enter normal commands here
}
consequently, when conditions are met you simply increase the maxpage by one..
maxPageToScroll = viewPager.getCurrentItem() + 1;
note that this doesn't prevent user form scrolling... it just prevents view pager from changing pages.