ShowGdItemAdapter.java
4.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
package com.sw.laryngoscope.adapter;
import android.content.Context;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.bumptech.glide.Glide;
import com.sw.laryngoscope.R;
import com.sw.laryngoscope.common.InitParam;
import com.sw.laryngoscope.db.RecordInfoDB;
import com.sw.laryngoscope.utils.Logger;
import java.io.File;
import java.util.List;
public class ShowGdItemAdapter extends BaseAdapter {
private Context context;
private List<RecordInfoDB> list;
private int curSelPos = 0;
private LayoutInflater mInflater;
private OnClickLitener listener;
public void setList(List<RecordInfoDB> list) {
this.list = list;
notifyDataSetChanged();
}
public void setCheckItem(int position) {
curSelPos = position;
}
public ShowGdItemAdapter(Context context, List<RecordInfoDB> list) {
this.context = context;
this.list = list;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
if (convertView != null) {
viewHolder = (ViewHolder) convertView.getTag();
} else {
convertView = LayoutInflater.from(context).inflate(R.layout.item_file_video, null, false);
viewHolder = new ViewHolder(convertView);
convertView.setTag(viewHolder);
viewHolder.item_detail_img = (ImageView)convertView.findViewById(R.id.item_detail_img);
viewHolder.imagePlay = (ImageView)convertView.findViewById(R.id.imagePlay);
viewHolder.lay_item_img = (LinearLayout)convertView.findViewById(R.id.lay_item_img);
}
if ( curSelPos == position ) {
viewHolder.item_detail_img.setSelected(true);
} else {
viewHolder.item_detail_img.setSelected(false);
}
RecordInfoDB temp = list.get( list.size() - position -1 );
String file;
if ( temp.getType() == InitParam.FILE_PHOTO ) {
viewHolder.imagePlay.setVisibility(View.GONE);
file = temp.getFilepath() + File.separator + temp.getFilename();
} else {
viewHolder.imagePlay.setVisibility(View.VISIBLE);
file = temp.getThumbnailpath() + File.separator + temp.getThumbnailname();
}
Glide.with(context).load( Uri.fromFile(new File(file)) ).into(viewHolder.item_detail_img);
/*if ( listname.get(position).equals(context.getString(R.string.position_parlor))) {
viewHolder.img_item.setImageResource(R.mipmap.parlor);
}
viewHolder.tv_name.setText(listname.get(position));*/
viewHolder.lay_item_img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//int position = (Integer) v.getTag();
curSelPos = position;
listener.onItemClick(list.size() - position -1);
notifyDataSetChanged();
Logger.d(" lay_item_img onClick " + curSelPos);
}
});
return convertView;
}
static class ViewHolder {
//@BindView(R.id.img_item)
ImageView item_detail_img;
ImageView imagePlay;
//@BindView(R.id.tv_name)
LinearLayout lay_item_img;
ViewHolder(View view) {
//ButterKnife.bind(this, view);
}
}
public OnClickLitener getListener() {
return listener;
}
public void setOnClickLitener(OnClickLitener listener) {
this.listener = listener;
}
public interface OnClickLitener {
void onItemClick(int position);
}
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
}