如果用RecyclerView的Adapter加载图片,Glide.with是写在ViewHolder还是onBindViewHolder处理
时间: 2024-03-21 09:40:08 浏览: 178
一般来说,我们会将Glide.with()方法写在ViewHolder中的构造函数中,然后在onBindViewHolder()方法中使用它来加载图片。这样可以避免重复创建Glide实例,提高性能。
具体实现步骤如下:
1. 在ViewHolder中声明Glide实例。
```
public class MyViewHolder extends RecyclerView.ViewHolder {
public ImageView thumbnail;
private RequestManager glide;
public MyViewHolder(View itemView) {
super(itemView);
thumbnail = itemView.findViewById(R.id.thumbnail);
glide = Glide.with(itemView);
}
public void bind(Data data) {
// 将数据绑定到ViewHolder中的View上
glide.load(data.getThumbnail())
.placeholder(R.drawable.placeholder)
.into(thumbnail);
}
}
```
2. 在onBindViewHolder()方法中调用ViewHolder的bind()方法。
```
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Data data = dataList.get(position);
holder.bind(data);
}
```
这样就可以实现使用Glide加载图片的功能了。注意,在实际使用中,还需要考虑图片的缓存策略和占位图等问题,以提高用户体验。
阅读全文