我觉得可以再简便一点:
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
private ConstraintLayout main;
private ViewPager viewpager;
private ArrayList<View> alist;
boolean islastpageswipd = false;
private ArrayList<String> titlelist;
int counterPageScroll = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
initView();
alist = new ArrayList<View>();
titlelist = new ArrayList<String>();
titlelist.add("View1");
titlelist.add("View2");
titlelist.add("View3");
alist.add(getLayoutInflater().inflate(R.layout.view_one, null));
alist.add(getLayoutInflater().inflate(R.layout.view_two, null));
alist.add(getLayoutInflater().inflate(R.layout.view_three, null));
MyPagerAdapter myPagerAdapter = new MyPagerAdapter(alist,titlelist);
viewpager.setAdapter(myPagerAdapter);
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override//滑动监听
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
// islastpageswipd = false?true:false;
//
// if (position == alist.size()- 1 && !islastpageswipd ){
//
// if ( counterPageScroll != 0) {
// islastpageswipd = true;
//
// startActivity(new Intent()
// .setClass(MainActivity.this, HomeActivity.class));
// }
//
// counterPageScroll++;
//
// }else {
// islastpageswipd = false;
// counterPageScroll = 0;
// }
if (position == alist.size()- 1){
if (counterPageScroll != 0)
startActivity(new Intent().setClass(MainActivity.this, HomeActivity.class));
counterPageScroll++;
}else {
counterPageScroll= 0;
}
}
@Override//选中监听
public void onPageSelected(int position) {
Log.i(TAG, "onPageSelected: -------------"+position);
}
@Override//状态监听
public void onPageScrollStateChanged(int state) {
}
});
// 设置适配器
}
private void initView() {
viewpager = (ViewPager) findViewById(R.id.viewpager);
}
}
int counterPageScroll = 0;
viewpager.setAdapter(myPagerAdapter); viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override//滑动监听 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
if (position == alist.size()- 1){ if (counterPageScroll != 0) startActivity(new Intent().setClass(MainActivity.this, HomeActivity.class)); counterPageScroll++; }else { counterPageScroll= 0; } }
也就是
1.int 一个变量 = 0 ;
2.然后判断滑动下标是否是最后一页;
3.判断int的变量什么时候不等于0的时候进行跳转