MyAdapter

来源:互联网 发布:男士皮衣品牌推荐 知乎 编辑:程序博客网 时间:2024/06/06 01:44
public class MyAdapter extends BaseAdapter{    private Context context;    private LayoutInflater inflater;    private List<Result.NewslistEntity> data;    public MyAdapter(Context context, List<Result.NewslistEntity> data) {        this.context = context;        this.data = data;    }    @Override    public int getCount() {        return data.size();    }    @Override    public Object getItem(int i) {        return data.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public View getView(int i, View convertView, ViewGroup viewGroup) {        ViewHolder holder;        View view;        if(convertView==null){            holder=new ViewHolder();            view=View.inflate(context,R.layout.item,null);            holder.iv=(ImageView) view.findViewById(R.id.iv);            holder.tv=(TextView) view.findViewById(R.id.tv);           view.setTag(holder);        }else{            view=convertView;          holder= (ViewHolder) view.getTag();        }        holder.tv.setText(data.get(i).getTitle());        String pciPath = data.get(i).getPicUrl();        new MyPicTask(holder.iv).execute(pciPath);        return view;    }    class ViewHolder{    private    ImageView iv;     private TextView tv;    }    class MyPicTask extends AsyncTask<String,Void,Bitmap>{        private ImageView iv;        public MyPicTask(ImageView iv) {            this.iv = iv;        }        @Override        protected Bitmap doInBackground(String... strings) {            try {                URL url=new URL(strings[0]);                HttpURLConnection connection=(HttpURLConnection) url.openConnection();                connection.setRequestMethod("GET");                connection.setConnectTimeout(5000);                connection.setReadTimeout(5000);                if(connection.getResponseCode()==200){                    InputStream stream=connection.getInputStream();                    Bitmap bitmap = BitmapFactory.decodeStream(stream);                    return  bitmap;                }            } catch (Exception e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Bitmap bitmap) {            iv.setImageBitmap(bitmap);        }    }}