Android--ViewPager的无限轮播

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;
                    }
                }
            }
        });
原文地址:https://www.cnblogs.com/819158327fan/p/5014226.html