Skip to content

Instantly share code, notes, and snippets.

@VladSumtsov
Last active August 29, 2015 14:20
Show Gist options
  • Save VladSumtsov/a814d82e1b4ed9b8c993 to your computer and use it in GitHub Desktop.
Save VladSumtsov/a814d82e1b4ed9b8c993 to your computer and use it in GitHub Desktop.
Page change finished. You if you need to perform something hard, use onPageSelectedFinished
import android.support.v4.view.ViewPager;
/**
* Created by vlad on 7/20/13.
*/
public class SimplePageChangedListener implements ViewPager.OnPageChangeListener {
private ViewPager.OnPageChangeListener listener;
private boolean pageChanged;
public SimplePageChangedListener() {
}
public SimplePageChangedListener(ViewPager.OnPageChangeListener listener) {
this.listener = listener;
}
@Override
public void onPageScrolled(int i, float v, int i2) {
if (listener != null) {
listener.onPageScrolled(i, v, i2);
}
}
@Override
public void onPageSelected(final int i) {
if (listener != null) {
listener.onPageSelected(i);
}
pageChanged = true;
}
@Override
public void onPageScrollStateChanged(int state) {
if (listener != null) {
listener.onPageScrollStateChanged(state);
}
if (ViewPager.SCROLL_STATE_DRAGGING == state) {
} else if (ViewPager.SCROLL_STATE_IDLE == state) {
if (pageChanged) {
pageChanged = false;
onPageSelectedFinished();
}
}
}
/**
* Override this method to prevent stucking and lagging view pager ui
*/
public void onPageSelectedFinished() {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment