1 public class HomeEduMoreAdapter extends BaseAdapter {
2
3 private final String TAG = "HomeEduMoreAdapter";
4
5 private static final int TYPE_COMMON = 0;
6 private static final int TYPE_BL = 1;
7 private static final int TYPE_NONE = 2;
8 private static final int TYPE_THREE = 3;
9 private static final int TYPE_QUESTION = 4;
10 private int TYPE_COUNT = 5;
11
12 private LayoutInflater inflater;
13 private List<HomeEdus> list;
14 private Context context;
15 private DisplayImageOptions options;
16 private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();
17
18 public HomeEduMoreAdapter(Context context, List<HomeEdus> objects) {
19 this.context = context;
20 // groupUserDao = new GroupUserDao(context);
21 inflater = LayoutInflater.from(context);
22 list = objects;
23 options = new DisplayImageOptions.Builder().cacheInMemory(true)
24 .imageScaleType(ImageScaleType.IN_SAMPLE_INT)
25 .bitmapConfig(Bitmap.Config.RGB_565).cacheOnDisk(true)
26 .showImageOnLoading(R.drawable.icon_default)// 设置图片在下载期间显示的图片
27 .showImageForEmptyUri(R.drawable.icon_default)// 设置图片Uri为空或是错误的时候显示的图片
28 .showImageOnFail(R.drawable.icon_default)// 设置图片加载/解码过程中错误时候显示的图片
29 .considerExifParams(true).build();
30 }
31
32 @Override
33 public int getCount() {
34 // TODO Auto-generated method stub
35 return list.size();
36 }
37
38 @Override
39 public int getViewTypeCount() {
40 // TODO Auto-generated method stub
41 return TYPE_COUNT;
42 }
43
44 @Override
45 public HomeEdus getItem(int position) {
46 // TODO Auto-generated method stub
47 return list.get(position);
48 }
49
50 @Override
51 public long getItemId(int postion) {
52 // TODO Auto-generated method stub
53 return postion;
54 }
55
56 @Override
57 public int getItemViewType(int position) {
58 // TODO Auto-generated method stub
59 HomeEdus edus = getItem(position);
60
61 String type = edus.getType();// 菜单类型
62 int result = TYPE_COMMON;
63 switch (type) {
64 case "hx":
65 result = TYPE_COMMON;
66 break;
67 case "wd":
68 if (edus.getPic1() == null || edus.getPic1().equals("")) {
69 result = TYPE_QUESTION;
70 }else {
71 result = TYPE_COMMON;
72 }
73
74 break;
75 case "jt":
76 result = TYPE_COMMON;
77 break;
78 case "bl":
79 result = TYPE_BL;
80 break;
81 default:
82 String jx = edus.getType();// 精选内容类型
83 switch (jx) {
84 default:
85 Integer imgNum = Integer.parseInt(edus.getImgNum());
86 if (imgNum != null && imgNum > 0 && imgNum < 3) {
87 result = TYPE_COMMON;
88 } else if (imgNum != null && imgNum >= 3) {
89 result = TYPE_THREE;
90 } else {
91 result = TYPE_NONE;
92 }
93
94 break;
95 }
96
97 break;
98 }
99 return result;
100 }
101
102 @Override
103 public View getView(int position, View convertView, ViewGroup parent) {
104 // TODO Auto-generated method stub
105 final HomeEdus model = getItem(position);
106 int type = getItemViewType(position);
107 final ViewHolder holder;
108
109 if (convertView == null) {
110 holder = new ViewHolder();
111 WindowManager manager = (WindowManager) context
112 .getSystemService(Context.WINDOW_SERVICE);
113 int width = manager.getDefaultDisplay().getWidth();
11