我正在尝试使用此适配器从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;
}
答案 0 :(得分:1)
使用第三方库来处理图像下载,内存处理等,如毕加索(http://square.github.io/picasso/)或通用图像加载器(https://github.com/nostra13/Android-Universal-Image-Loader)。
你会遇到更少的图像,它会在视图关闭时处理停止图像下载并处理从缓存中加载图像,因此你不必继续进行网络调用。