package com.example.com.rk_day_03; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.AsyncTask; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; /** * Created by 他。 on 2017/12/28. */ public class MyAdapter extends BaseAdapter{ List<Bean.NewslistBean> newslist; Context context; public MyAdapter(List<Bean.NewslistBean> newslist, Context context) { this.context=context; this.newslist=newslist; } @Override public int getCount() { return newslist.size(); } @Override public Object getItem(int i) { return newslist.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if(view==null){ view=View.inflate(context,R.layout.list_view,null); holder=new ViewHolder(); holder.title=view.findViewById(R.id.bt); holder.tp=view.findViewById(R.id.tp); holder.wz=view.findViewById(R.id.start); view.setTag(holder); }else{ holder= (ViewHolder) view.getTag(); } //赋值 holder.wz.setText(newslist.get(i).getDescription()); holder.title.setText(newslist.get(i).getTitle()); MypicTask mypictask = new MypicTask(holder.tp); mypictask.execute(newslist.get(i).getPicUrl()); return view; } private class ViewHolder{ TextView title; TextView wz; ImageView tp; } class MypicTask extends AsyncTask<String, Void, Bitmap> { private ImageView imageView; public MypicTask(ImageView imageView) { this.imageView = imageView; } @Override protected Bitmap doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlconnection = (HttpURLConnection) url.openConnection(); urlconnection.setRequestMethod("GET"); urlconnection.setReadTimeout(5000); urlconnection.setConnectTimeout(5000); //判断结果码 if(urlconnection.getResponseCode()==200){ //得到资源 InputStream inputstream = urlconnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputstream); return bitmap; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); if(bitmap==null){ imageView.setImageResource(R.mipmap.ic_launcher); }else{ imageView.setImageBitmap(bitmap); } } @Override protected void onPreExecute() { super.onPreExecute(); } } }