//初始化viewpager时加上这一句可以实现向左循环 否则只有向右
myViewPager.setCurrentItem(viewList.size() * 20);
//当前的position
@Override
public void onPageSelected(int position) {
position =position % pathList.size()
String pos = (position + 1 + "/" + pathList.size());
tv_pos.setText(pos);
}
/**
*ViewPager适配器
*/
public class MyPagerViewAdapter extends PagerAdapter {
ArrayList<View> viewList;
public void setViewList(ArrayList<View> viewList) {
this.viewList = viewList;
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
//return viewList.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;//官方提示这样写
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// if (position < viewList.size()) {
// container.removeView(viewList.get(position));//删除页卡
// }
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
View view = viewList.get(position % viewList.size());
//如果View已经在之前添加到了一个父组件,则必须先remove,否则会抛出IllegalStateException。
ViewParent vp =view.getParent();
if (vp!=null){
ViewGroup parent = (ViewGroup)vp;
parent.removeView(view);
}
container.addView(view);
return view;
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
}
网友评论