异步请求图片和更新listview列表

//test
class PaginationAdapter extends BaseAdapter { 
  

    public PaginationAdapter() { 
    }

 public int getCount() {
  return list_film.size();
 }

 public Object getItem(int position) {
  return list_film.get(position);
 }

 public long getItemId(int position) {
  return position;
 }

 public View getView(int position, View convertView, ViewGroup parent) {
  
   if(convertView==null){
             holder=new NewsHolder();
             convertView=getLayoutInflater().inflate(R.layout.listview_resource, null);
             holder.img=(ImageView)convertView.findViewById(R.id.resource_pic);
             holder.name=(TextView) convertView.findViewById(R.id.resource_name);
             holder.type=(TextView) convertView.findViewById(R.id.file_typename);
             convertView.setTag(holder);
             
      }else{
             holder=(NewsHolder)convertView.getTag();
           }
     holder.img.setId(position);
     holder.name.setId(position);
     holder.type.setId(position);
     
     holder.name.setText(list_film.get(position).get("film").toString());
     holder.type.setText(list_film.get(position).get("type").toString());
     String img_url="";
     img_url=list_film.get(position).get("img").toString();
     if((holder.img.getId()<list_film.size())&&(holder.img.getId()>lastVisibleIndex)){
        //每次更新滑动时新添加的listItem
         if((img_url.trim()!=null)&&(img_url.endsWith("jpg"))){
          
         holder.img.setTag(BASE_URL+img_url);
         
         System.out.println(holder.img.getTag().toString());
           
            }else{
             holder.img.setTag(null);
            }
        }
       new CanvasImageTask().execute(holder.img);
       return convertView;
         }

 }
 */

/*
//异步请求图片和更新listview列表

 class CanvasImageTask extends AsyncTask<ImageView, Void, Bitmap> {
    private ImageView gView;

    protected Bitmap doInBackground(ImageView... views) {
            Bitmap bmp = null;
            ImageView view = views[0];
            // 根据iconUrl获取图片并渲染,iconUrl的url放在了view的tag中。
            if (view.getTag() != null) {
                    try {
                            URL url = new URL(view.getTag().toString());
                            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                            conn.setDoInput(true);
                            conn.setConnectTimeout(4000);
                            conn.connect();
                            InputStream is = conn.getInputStream();
                            
                         BitmapFactory.Options options=new BitmapFactory.Options(); 
                         //缩放1/10
                            options.inSampleSize = 10; 
                            bmp=BitmapFactory.decodeStream(is,null,options);  
                            is.close();  
                            conn.disconnect();
                    } catch (Exception e) {
                            return null;
                    }
            }
            this.gView = view;
            return bmp;
       }

 @Override
 protected void onPreExecute() {
  pg.setVisibility(View.VISIBLE);  
 }

 @Override
 protected void onProgressUpdate(Void... values) {
   pg.setVisibility(View.GONE); 
 }

 protected void onPostExecute(Bitmap bm) {
            if ( bm != null) {
             //此处更新图片
                 this.gView.setImageBitmap(bm);
                 adapter.notifyDataSetChanged();
                 //做保存在数据库中
                 
                 this.gView=null;
            }
    }

 }

 

 class NewsHolder {   

public ImageView img;   

public TextView name;   

public TextView type; 

} 
*/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值