Android--ViewPager的无限轮播

时间:2023-03-08 17:04:01

ViewPage_RadioButton实现带小圆点的无限轮播,效果还能凑合着用。

1、在ViewPage的监听里面这样处理

@Override
public void onPageSelected(int position) {
Log.d("position",position+"");
if ( imageViews.size() > 1) { //多于1,才会循环跳转
if ( position < 1) { //首位之前,跳转到末尾(N)
//MyData.image.length图片的数目,是没多加那两张图片的长度
((RadioButton)rg_choose_main.getChildAt(MyData.image.length-1)).setChecked(true);
vp_headPic_main.setCurrentItem(MyData.image.length,false);
} else if ( position > MyData.image.length) { //末位之后,跳转到首位(1)
vp_headPic_main.setCurrentItem(1,false); //false:不显示跳转过程的动画
((RadioButton)rg_choose_main.getChildAt(0)).setChecked(true);
}else {
((RadioButton)rg_choose_main.getChildAt(position-1)).setChecked(true);
}
}
}

2、在RadioGroup的监听事件里面这样处理

//选择监听
rg_choose_main.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
for (int i = 0;i < group.getChildCount();i++){
if (((RadioButton)group.getChildAt(i)).isChecked()){
vp_headPic_main.setCurrentItem(i+1,false);
break;
}
}
}
});