ViewPager的图片轮播

 1 //获得文件
 2                 String se = (String) msg.obj;
 3                 //gson对象
 4                 Gson gson = new Gson();
 5                 //解析json串    因为要解析的json是一个集合所以要用到TypeToken<List<Src>>() {}.getType())的方法
 6                 List<Src> json = gson.fromJson(se, new TypeToken<List<Src>>() {
 7                 }.getType());
 8 
 9                 //准备一个集合接收图片
10                 final List<View> list = new ArrayList<View>();
11                 for (int i = 0; i < json.size(); i++) {
12                     
13                     ImageView img = new ImageView(MainActivity.this);
14 
15                     img.setScaleType(ScaleType.FIT_XY);
16                     //使用BitmapUtils
17                     BitmapUtils utils = new BitmapUtils(MainActivity.this);
18                     //把图片添加到img中去
19                     utils.display(img, "http://172.17.29.120/localuser/ljy/jc/"
20                             + json.get(i).getSrc());
21                     //把所有的img图片添加到集合中去
22                     list.add(img);
23                 }
24                 //创建一个viewpager适配器
25                 viewpager.setAdapter(new PagerAdapter() {
26 
27                     @Override
28                     public boolean isViewFromObject(View arg0, Object arg1) {
29                         // TODO Auto-generated method stub
30                         return arg0 == arg1;
31                     }
32 
33                     @Override
34                     public int getCount() {
35                         // TODO Auto-generated method stub
36                         //集合的长度
37                         return list.size();
38                     }
39 
40                     public void destroyItem(android.view.ViewGroup container,
41                             int position, Object object) {
42                         //移除掉图片
43                         container.removeView((View) object);
44                     };
45 
46                     public Object instantiateItem(
47                             android.view.ViewGroup container, int position) {
48                         //添加图片
49                         container.addView(list.get(position));
50                         //返回要添加第几个图片
51                         return list.get(position);
52 
53                     };
54 
55                 });
56 
57                 // 图片自动循环
58         Timer timer = new Timer();
59         timer.schedule(new TimerTask() {
60 
61             @Override
62             public void run() {
63                 // TODO Auto-generated method stub
64                 //获取现在展示的是第几个图片的下标并进行加1
65                 count = viewpager.getCurrentItem() + 1;
66                 //判断图片是否到了最后一个
67                 //如果到了最后一个把他的下标该成第一个
68                 if (count == 5) {
69                     count = 0;
70                 }
71                 //把count返回到主线程中
72                 hand.sendMessage(hand.obtainMessage(8, count));
73 
74             }
75         }, 2000, 2000);//代表一个图片展示两秒
76     }
77 
78         Handler hand = new Handler() {
79         public void handleMessage(android.os.Message msg) {
80             if (msg.what == 8) {
81                 //在主线程中获取返回的值
82                 int i = (Integer) msg.obj;
83                 //根据获取的返回值来设置要显示的是第几个图片
84                 viewpager.setCurrentItem(i);
85             }
86 
87                             
原文地址:https://www.cnblogs.com/3674-it/p/5143398.html