LeftVideoAdapter.java
5.06 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
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.ImageView;
import androidx.recyclerview.widget.RecyclerView;
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.widget.NiceImageView;
import java.io.File;
import java.util.List;
public class LeftVideoAdapter extends RecyclerView.Adapter<LeftVideoAdapter.ViewHolder> {
private Context mContext;
private OnItemClickLitener listener;//点击事件接口
private List<RecordInfoDB> imageUrls;//ArrayList<String>
//private ImageFetcher imageFetcher;
private ViewHolder viewHolder;
private View view;
/**
* 在构造方法中传入图片地址的数据
* @param context
* @param imageUrls
*/
public LeftVideoAdapter(Context context, List<RecordInfoDB> imageUrls) {
this.mContext = context;
this.imageUrls = imageUrls;
//初始化加载网络图片的jar包
/*imageFetcher = new ImageFetcher(context);
imageFetcher.setImageCache(ImageCache.getInstance(context));*/
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
view = LayoutInflater.from(mContext).inflate(R.layout.rv_item_left_video, null);
viewHolder = new ViewHolder(view);
return viewHolder;
}
public void setImageUrls(List<RecordInfoDB> imageUrls) {
this.imageUrls = imageUrls;
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
RecordInfoDB temp = imageUrls.get( imageUrls.size() - position -1 );
String file;
/*Logger.d("File.separator "+File.separator + " " + File.pathSeparator + " " + File.pathSeparatorChar
+ " " + File.separatorChar);*/
if ( temp.getType() == InitParam.FILE_PHOTO ) {
holder.imagePlay.setVisibility(View.GONE);
file = temp.getFilepath() + File.separator + temp.getFilename();
} else {
holder.imagePlay.setVisibility(View.VISIBLE);
file = temp.getThumbnailpath() + File.separator + temp.getThumbnailname();
}
Glide.with(mContext).load( Uri.fromFile(new File(file)) ).into(holder.imageView);
//holder.imageView.setBackgroundResource(R.mipmap.add);
/*//设置内容为“hehe”的的元素为默认的添加按钮
if (imageUrls.get(position).equals("hehe")) {
holder.imageView.setBackgroundResource(R.mipmap.add);
} else {
*//**
* 判断图片路径是网络地址还是本地图片
* 设置路径之中包含“storage”的为本地图片
*//*
if (imageUrls.get(position).contains("storage")) {
try {
File file = new File(imageUrls.get(position));
//将bitmap转化成drawable
Bitmap bmp = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(), Uri.fromFile(file));
Drawable drawable =new BitmapDrawable(bmp);
//按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽)
holder.imageViewBig.setScaleType(ImageView.ScaleType.CENTER_CROP);
holder.imageViewBig.setImageBitmap(bmp);
} catch (IOException e) {
e.printStackTrace();
}
// holder.imageViewBig.setImageURI(Uri.parse(imageUrls.get(position)));
} else {
imageFetcher.loadImage(imageUrls.get(position), holder.imageViewBig, R.mipmap.touxiang);
}
}*/
}
@Override
public int getItemCount() {
return imageUrls.size();
}
public void setOnItemClickLitener(OnItemClickLitener listener) {
this.listener = listener;
}
public interface OnItemClickLitener {
void onItemClick(int position);
}
class ViewHolder extends RecyclerView.ViewHolder {
NiceImageView imageView;
ImageView imagePlay;
public ViewHolder(View itemView) {
super(itemView);
imageView = (NiceImageView) itemView.findViewById(R.id.imageView);
imagePlay = (ImageView) itemView.findViewById(R.id.imagePlay);
/**
*
* 因为元素是变化的,动态的,所以对点击事件的处理放在ViewHolder类里面,调用getposition()
* 可以获取到当前的元素位子
*/
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//int position = (Integer) v.getTag();
listener.onItemClick(getPosition());
}
});
}
}
}