MyAdapter类
public class MyPageAdapter extends PagerAdapter {
private List<Integer> list;
private Context context;
public MyPageAdapter(List<Integer> list, Context context) {
this.list = list;
this.context = context;
}
@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 imageView = new ImageView(context);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageResource(list.get(position%list.size()));
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
MyActivity类
public class MainActivity extends AppCompatActivity { private ViewPager vp; private List<Integer> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); vp = (ViewPager) findViewById(R.id.vp); vp.setAdapter(new MyAdapter(list, this)); vp.setCurrentItem(-120000); new Thread() { @Override public void run() { super.run(); while (true) { try { sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } runOnUiThread(new Runnable() { @Override public void run() { vp.setCurrentItem(vp.getCurrentItem() + 1); } }); } } }.start(); } public void initData() { list = new ArrayList<>(); list.add("http://www.58pic.com/newpic/27298847.html"); list.add("http://www.58pic.com/newpic/27085547.html"); list.add("http://www.58pic.com/newpic/27066112.html"); list.add("http://www.58pic.com/newpic/27239525.html"); } }