list适配器设置网络获取的图片
2017-12-28 14:49
211 查看
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(); } } }
相关文章推荐
- banner实现流+网络获取图片设置
- 关于banner获取网络图片设置自动轮播
- 怎么用glide给relativelayout、linearlayout设置网络获取图片
- Android LazyList 从网络获取图片并缓存
- [置顶] 使用ImageLoader加载网络图片时,如何获取加载进度,如何设置进度条
- Android从网络获取图片并设置缓存
- 在BaseAdapter中 list优化 + 网络 获取图片利用线程传输
- 获取网络图片的适配器
- 网络获取图片及设置圆角
- tableView 获取网络图片,并且设置为圆角(优化,fps)
- 使用WMI控制网络适配器的类(获取所有启用的网络适配器及其信息。设置IP、子网掩码,网关,DNS)
- 安卓开发中如何获取网络图片并设置到ImageView?
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
- Android仿人人客户端(v5.7.1)——对从服务器端(网络)获取的图片进行本地双缓存处理(编码实现)
- ListView从网络获取图片及文字显示
- 获取网络图片httpclicent--AsyncTask-小圆点图片轮播
- 用NSURLSession从网络获取图片
- WinPcap编程3——获取网络适配器列表
- 精简linux (二)背景图片的设置 网络功能的实现
- 从网络获取图片方法