我正在尝试创建类似于该应用程序的应用程序: 一个在recyclerview中具有一些图像和描述(卡片视图)的应用程序
首先,我从图像的数据库标题,描述和图像的URL加载CardView的所有信息。当我将所有信息放到RecyclerView中时,(标题和描述)可以正确显示,但是对于图像,我创建了一个AsyncTask类来从URL加载图像,从而使用户不必等待太多时间来等待应用程序响应。
如果用户缓慢滚动,图像加载正确并且一切都很好,但是如果我快速滚动,则会遇到一些问题,例如,项目3中显示的图像显示在最后一个项目中,直到最后一个项目为止图像已加载并刷新。
这是我的适配器在其中加载图像的一些代码:
@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
if (holder instanceof EventosViewHolder) {
......
//Load the image (getFoto() get drawable)
if (eventoInfoAux.getFoto()==null){
CargarImagen cargarImagen = new CargarImagen(((EventosViewHolder) holder).vRelativeLayout,eventoInfo,position);
cargarImagen.execute();
}else{
((EventosViewHolder) holder).vRelativeLayout.setBackground(eventoInfoAux.getFoto());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这里是CargarImagen类的代码:
//Clase para cargar imagenes con una tarea asíncrona desde un url de la imagen
public class CargarImagen extends AsyncTask<String, String, Boolean>{
//RelativeLayout donde se introduce la imagen de fondo
RelativeLayout relativeLayout=null;
//EventoInfo para obtener la url de la …Run Code Online (Sandbox Code Playgroud) android image android-asynctask android-cardview android-recyclerview