在BaseAdapter中 list优化 + 网络 获取图片利用线程传输
2017-11-05 20:12
232 查看
@Override
public View getView(int position, View convertView, ViewGroup parent) {
viewHolder holder;
if (convertView == null) {
holder = new viewHolder();
convertView = View.inflate(context, R.layout.item_list, null);
//text
holder.i_text = (TextView) convertView.findViewById(R.id.i_text);
//图片
holder.i_imageview = (ImageView) convertView.findViewById(R.id.i_imageview);
convertView.setTag(holder);
} else {
// viewholder优化
holder = (viewHolder) convertView.getTag();
}
holder.i_text.setText(list.get(position).getTitle());
public View getView(int position, View convertView, ViewGroup parent) {
viewHolder holder;
if (convertView == null) {
holder = new viewHolder();
convertView = View.inflate(context, R.layout.item_list, null);
//text
holder.i_text = (TextView) convertView.findViewById(R.id.i_text);
//图片
holder.i_imageview = (ImageView) convertView.findViewById(R.id.i_imageview);
convertView.setTag(holder);
} else {
// viewholder优化
holder = (viewHolder) convertView.getTag();
}
holder.i_text.setText(list.get(position).getTitle());
// json封装的图片进项线程调用 String picPath= list.get(position).getPicUrl().toString(); Log.d("SSS","+++适配器中:+++"+picPath); //发送请求 new MyPicTask(holder.i_imageview).execute(picPath.toString()); return convertView; } class viewHolder { TextView i_text; ImageView i_imageview; } // AsyncTask 主线程子线程 注意 中括号里面因为图片所以属性是Bitmap class MyPicTask extends AsyncTask<String, Void, Bitmap> { ImageView i_imageview; public MyPicTask(ImageView i_imageview) { this.i_imageview = i_imageview; } @Override public Bitmap doInBackground(String... params) { try { URL url = new URL(params[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 public void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); i_imageview.setImageBitmap(bitmap); } }
相关文章推荐
- listView利用BaseAdapter及异步任务Gson解析,使用Picasso网络获取资源进行图文混排,PullToRefresh上拉刷新下拉加载
- 利用线程和异步线程AsyncTask获取网络图片
- 【Android】网络图片加载优化(一)利用弱引用缓存异步加载
- android利用消息机制获取网络图片
- 网络获取图片的优化
- android--利用消息机制来获取网络图片
- Android异步加载学习笔记之四:利用缓存优化网络加载图片及ListView加载优化
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
- android 学习随笔七(网络:图片及文本传输及线程关系 )
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例 (附源码)
- android ListView利用SimpleAdapter显示特定布局并且异步加载网络图片
- list适配器设置网络获取的图片
- android网络获取图片并保存在本地和获取手机SD卡中的图片显示到ImageView上及利用代码删除图片
- 【Android学习笔记系列】AsyncTask、BaseAdapter整合异步加载用例(通过解析JSON格式数据加载网络图片内容)
- Adapter中的网络图片优化
- Android网络:HTTP之利用HttpURLConnection访问网页、获取网络图片实例
- 利用IP_ADAPTER_INFO结构获取网络适配器信息
- 【Android开发】范例1-开启新线程获取网络图片并显示到ImageView中
- tableView 获取网络图片,并且设置为圆角(优化,fps)