Skip to content

Instantly share code, notes, and snippets.

@talenguyen
Created October 9, 2015 03:53
Show Gist options
  • Save talenguyen/6a616a42143aa249dca5 to your computer and use it in GitHub Desktop.
Save talenguyen/6a616a42143aa249dca5 to your computer and use it in GitHub Desktop.
public class DetectViewPagerOverscroll extend OnPageChangeListener {
boolean hasSelection;
boolean userRelease;
private long lastScrollTimeStamp = 0;
@Override public void onPageSelected(int position) {
//hasSelection = true;
radioGroupController.selectItem(position);
Timber.d("onPageSelected =====> position: %d", position);
}
@Override public void onPageScrollStateChanged(int state) {
Timber.d("onPageScrollStageChanged: %d", state);
switch (state) {
case 0:
Timber.d("onPageScrollStageChanged => {userRelease: %s, hasSelection: %s}", userRelease,
hasSelection);
if (!userRelease
&& !hasSelection
&& lastScrollTimeStamp + 500 < System.currentTimeMillis()) {
Timber.d("onPageScrollStageChanged => {NextPage}");
lastScrollTimeStamp = System.currentTimeMillis();
}
break;
case 1:
// Reset state
hasSelection = false;
userRelease = false;
break;
case 2:
userRelease = true;
break;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment