class Demo{
private void initView() {
int m = (Integer.MAX_VALUE / 2) % imageViewList.size();
int currentPosition = Integer.MAX_VALUE / 2 - m;
mViewPager.setCurrentItem(currentPosition);
}
class MyAdapter extends PagerAdapter {
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView iv = imageViewList.get(position % imageViewList.size());
mViewPager.addView(iv);
return iv;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// 把ImageView从ViewPager中移除掉
mViewPager.removeView(imageViewList.get(position % imageViewList.size()));
}
}
class MyOnPageChangeListener implements OnPageChangeListener{
...
@Override
public void onPageSelected(int position) {
int newPosition = position % imageViewList.size();
// 把当前选中的点给切换了, 还有描述信息也切换
llPointGroup.getChildAt(previousPosition).setEnabled(false);
llPointGroup.getChildAt(newPosition).setEnabled(true);
tvImageDescription.setText(imageDescriptions[newPosition]);
// 把当前的索引赋值给前一个索引变量, 方便下一次再切换.
previousPosition = newPosition;
}
}
}