网络请求的图片,在Adapter(适配器)中异步的处理
来源:互联网 发布:unity3d 粒子性能优化 编辑:程序博客网 时间:2024/06/05 07:24
添加权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
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/11/30. */public class MyAdapter extends BaseAdapter { private List<User.DataBean.PcFeedFocusBean> list; private Context context; private Bitmap bitmap1; public MyAdapter(List<User.DataBean.PcFeedFocusBean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHoder hoder; if (view==null){ view= View.inflate(context, R.layout.itme_layout, null); hoder=new ViewHoder(); hoder.img=(ImageView)view.findViewById(R.id.img); hoder.text=(TextView)view.findViewById(R.id.text); view.setTag(hoder); }else { hoder= (ViewHoder) view.getTag(); } hoder.text.setText(list.get(i).getTitle()); new MyTask(hoder.img).execute("http:"+list.get(i).getImage_url());······················ return view; } class MyTask extends AsyncTask<String, Void, Bitmap> {》》》》》》》》》》》》》》》》》》》》》》》》》》private ImageView img; public MyTask(ImageView img) { this.img = img; } //运行在后台,进行网络请求,子线程 @Override protected Bitmap doInBackground(String... strings) {//...可变长类型 string....相当于 String[] Bitmap bitmap=null; try { //1.创建URL URL url = new URL(strings[0]); //2.打开连接 HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); //3.设置 urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); //4.判断响应码 if (urlConnection.getResponseCode() == 200) { //5.获取数据 InputStream inputStream = urlConnection.getInputStream(); bitmap1 = BitmapFactory.decodeStream(inputStream); } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return bitmap1; } @Override protected void onPostExecute(Bitmap s) {img.setImageBitmap(s); } }》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 public class ViewHoder{ private ImageView img; private TextView text; }}
阅读全文
0 0
- 网络请求的图片,在Adapter(适配器)中异步的处理
- 网络同步异步请求的图片讲解
- 适配器中加载耗时图片的处理
- [android]简单方法记载 在adapter中异步加载网络图片
- Android中网络图片的异步加载
- Android中适配器Adapter的使用
- 异步任务请求网络数据需在build.gradle文件中加入的代码
- 适配器Adapter的用法
- adapter 适配器的学习
- Adapter适配器的使用
- Adapter适配器的自定义
- 图片的异步加载和适配器
- Android Adapter 异步图片请求诡异问题
- ListView通过自定义的Adapter实现异步下载显示网络图片
- Android中异步解析网络请求的URL
- 在Activty中处理adapter中的监听事件的写法
- 网络异步请求图片加载
- 在 swift中处理网络请求
- ajax传数组
- 困扰2天的tomcat启动问题
- ubuntu 17.10安装64位Chrome浏览器
- Spring系列之Spring常用注解总结
- Microsoft Office 2016产品密钥生成器
- 网络请求的图片,在Adapter(适配器)中异步的处理
- shell 脚本支持从管道读取
- 自定义view圆弧家百分比
- hdu 2084 数塔
- 基于C4.5神经网络集成
- Android 项目上传Jcenter方法参考(内含两种方法)
- 多线程编程
- 使用spring配置dbcp2和pool2
- Anaconda无法用PIL,我用Pillow替代