添加切换监听器
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
private boolean flag;
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
````
<div class="se-preview-section-delimiter"></div>
### 在onPageScrollStateChanged方法中判断是不是最后一个,同是是不是拖放状态
<div class="se-preview-section-delimiter"></div>
```android
@Override
public void onPageScrollStateChanged(int state) {
Log.d("vivi", "onPageScrollStateChanged: " + state);
switch(state) {
case ViewPager.SCROLL_STATE_DRAGGING:
flag = false;
Log.d("vivi", "SCROLL_STATE_DRAGGING: " + ViewPager.SCROLL_STATE_DRAGGING);
break;
case ViewPager.SCROLL_STATE_SETTLING:
flag = true;
Log.d("vivi", "SCROLL_STATE_SETTLING: " + ViewPager.SCROLL_STATE_SETTLING);
break;
case ViewPager.SCROLL_STATE_IDLE:
Log.d("vivi", "SCROLL_STATE_IDLE: " + ViewPager.SCROLL_STATE_IDLE+" mViewPager.getCurrentItem() "+mViewPager.getCurrentItem());
if(mViewPager.getCurrentItem() == mWelcomeViewpagerAdapter.getCount() - 1 && !flag) {
Intent localIntent = new Intent();
localIntent.setClass(WelcomeActivity.this, MainActivity.class);
startActivity(localIntent);
finish();
}
flag = true;
break;
}
源码
https://github.com/ln0491/ViewPagerDemo