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