http://blog.csdn.net/wangkuifeng0118/article/details/7506324
通常我們已經有了一個viewPager項目,只是想添加部分實現循環的功能,對原有的viewPager更改點做提示如下:
修改1:MainActivity的 onCretea函數:
.....
viewPager.setAdapter(new MyAdapter());
viewPager.setOnPageChangeListener(new MyListener());
viewPager.setCurrentItem(300); (原文65行)
修改2:
- class MyAdapter extends PagerAdapter {
- @Override
- public int getCount() {
- return Integer.MAX_VALUE; //原文73行
- }
- .....
修改3:
- public void destroyItem(View arg0, int arg1, Object arg2) {
- // TODO Auto-generated method stub
- //((ViewPager) arg0).removeView(list.get(arg1)); //此行註釋掉,原文90行
- }
- public Object instantiateItem(View arg0, int arg1) { //原文94行~102行
- // TODO Auto-generated method stub
- try{
- ((ViewPager) arg0).addView(list.get(arg1%list.size()),0);
- }catch (Exception e) {
- // TODO: handle exception
- }
- return list.get(arg1%list.size());
- }
- public void onPageScrollStateChanged(int arg0) {
- // TODO Auto-generated method stub
- //arg0=arg0%list.size(); //原文135行,或許有的程序沒有這行,就不需要註釋了
- }
修改6:
- public void onPageSelected(int arg0) {
- if(arg0>2){ //原文149行
- arg0=arg0%list.size(); //原文150行
- }
- c_id = arg0;
- for (int i = 0; i < imageViews.length; i++) {
- imageViews[arg0]
- .setBackgroundResource(R.drawable.guide_dot_white);
- if (arg0 != i) {
- imageViews[i]
- .setBackgroundResource(R.drawable.guide_dot_black);
- }
- }
- Log.e("-------------", "當前是第"+c_id+"頁");
- }