在Android中滚动时重复图像

时间:2015-01-30 10:17:15

标签: android

我正在尝试使用此适配器从Internet加载图像我尝试创建图像和文本显示如何解决此问题

public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    View v=convertView;
    if(v==null)
    {
        holder=new ViewHolder();
        v=vi.inflate(Resourse, null);
        holder.pro_img=(ImageView)v.findViewById(R.id.pro_img);
        holder.pro_id=(TextView)v.findViewById(R.id.pro_id);
        holder.pro_name=(TextView)v.findViewById(R.id.pro_name);
        holder.pro_price=(TextView)v.findViewById(R.id.pro_price);
        v.setTag(holder);           
    }else {
        holder=(ViewHolder) v.getTag();
    }
    holder.pro_img.setImageResource(R.drawable.ic_launcher);
    holder.pro_img=(ImageView)v.findViewById(R.id.pro_img);
    holder.pro_id=(TextView)v.findViewById(R.id.pro_id);
    holder.pro_name=(TextView)v.findViewById(R.id.pro_name);
    holder.pro_price=(TextView)v.findViewById(R.id.pro_price);
    v.setTag(holder);   
    new DownloadImageTask(holder.pro_img).execute(productdetails.get(position).getpro_img());
    holder.pro_name.setText(productdetails.get(position).getpro_name());
    holder.pro_id.setText("Product ID :"+productdetails.get(position).getpro_id());
    holder.pro_price.setText("Price"+productdetails.get(position).getpro_price());                 return v;        
}

1 个答案:

答案 0 :(得分:1)

使用第三方库来处理图像下载,内存处理等,如毕加索(http://square.github.io/picasso/)或通用图像加载器(https://github.com/nostra13/Android-Universal-Image-Loader)。

你会遇到更少的图像,它会在视图关闭时处理停止图像下载并处理从缓存中加载图像,因此你不必继续进行网络调用。