package cn.wangmeng.test;
import java.util.List;
import cn.wangmeng.test.AsyncImageLoader.ImageCallback;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
/**
* 数据适配器类
*@author hsx
*@date 2012-11-21
*@Description
*/
public class ImageAndTextListAdapter extends ArrayAdapter<ImageAndText>
{
private ListView listView;
private AsyncImageLoader asyncImageLoader;
/**
* 构造函数
* @param activity
* @param imageAndTexts
* @param listView
*/
public ImageAndTextListAdapter(Activity activity, List<ImageAndText> mData, ListView listView)
{
super(activity, 0, mData);
this.listView = listView;
asyncImageLoader = new AsyncImageLoader();
}
public View getView(int position, View convertView, ViewGroup parent)
{
Activity activity = (Activity) getContext();
ViewHolder holder = null;
// if (convertView == null)
// {
/**
* 装载listview的布局文件
*/
LayoutInflater inflater = activity.getLayoutInflater();
convertView = inflater.inflate(R.layout.image_and_text_row, null);
/**
* 将convertView赋给viewholder的构造函数,赋给了ViewHolder的baseView
*/
holder = new ViewHolder(convertView);
convertView.setTag(holder);
// }
/**
* 此处容易发生listview显示混乱问题
*/
// else
// {
// holder = (ViewHolder) convertView.getTag();
// }
/**
* 获取mData中的每一项
*/
ImageAndText imageAndText = getItem(position);
// 装载图片
String imageUrl = imageAndText.getImageUrl();
ImageView imageView = holder.getImageView();
imageView.setTag(imageUrl);
// Drawable cachedImage = asyncImageLoader.loadDrawable(imageUrl,
// new ImageCallback()
// {
// public void imageLoaded(Drawable imageDrawable, String imageUrl)
// {
// /**
// * 此方法中的imageUrl实际上是前面那个imageUrl经过多次传递得到的,实际上就是图片的imageUrl
// */
// ImageView imageViewByTag = (ImageView) listView.findViewWithTag(imageUrl);
// if (imageViewByTag != null)
// {
// imageViewByTag.setImageDrawable(imageDrawable);
// }
// }
// });
Drawable cachedImage = asyncImageLoader.loadDrawable(imageUrl,new ImageCallbackImp());
if (cachedImage == null)
{
imageView.setImageResource(R.drawable.default_image);
}else
{
imageView.setImageDrawable(cachedImage);
}
// 装载文字信息
TextView textView = holder.getTextView();
textView.setText(imageAndText.getText());
return convertView;
}
public class ImageCallbackImp implements ImageCallback
{
public void imageLoaded(Drawable imageDrawable, String imageUrl)
{
/**
* 此方法中的imageUrl实际上是前面那个imageUrl经过多次传递得到的,实际上就是图片的imageUrl
*/
ImageView imageViewByTag = (ImageView) listView.findViewWithTag(imageUrl);
if (imageViewByTag != null)
{
imageViewByTag.setImageDrawable(imageDrawable);
}
}
}
}
![avatar](https://profile-avatar.csdnimg.cn/634e762c67a14da78e94ccfed6518903_abc13939746593.jpg!1)
三年前明媚天
- 粉丝: 67
- 资源: 73
最新资源
- 3个DeepSeek隐藏玩法,99%的人都不知道!.zip
- 基于Simulink的永磁同步电机滑模仿真模型:双环控制策略下的高精度滑模电流环PI与转速环滑模研究价值探讨,基于Simulink的永磁同步电机滑模仿真模型:双环控制策略研究与实践,展示高精度控制效果
- 自适应无迹卡尔曼滤波AUKF算法:系统估计效果展示与特性分析(含MATLAB代码与Excel数据),自适应无迹卡尔曼滤波AUKF算法:系统估计效果展示与特性分析(含MATLAB代码与Excel数据)
- 基于Ni Linux RT与Veristand的实时仿真系统设计与应用,基于Ni Linux RT与Veristand的先进实时仿真系统,基于Ni linux RT和veristand的实时仿真 ,基
- 基于多种电机控制与仿真分析的深入探讨,电机控制仿真研究:涵盖多种电机类型与先进控制策略的故障分析仿真,电机控制仿真分析 研究方向为电机控制,有丰富的仿真模型搭建经验,涉及:永磁同步电机,开关磁阻电机
- 基于MATLAB Simulink平台的4机10节点系统暂态稳定性仿真研究:PSS与SVC对系统影响分析,基于MATLAB Simulink平台的4机10节点系统暂态稳定性仿真研究:PSS与SVC对系
- 三电平SVPWM改进异步电机直接转矩控制性能研究-基于文献参考的探讨,基于三电平SVPWM技术的异步电机直接转矩控制性能优化研究-与两电平SVPWM及滞环离线开关表对比分析参考研究文献,基于三电平
- MATLAB技术在车牌定位、分割及识别中的应用报告(含3000字详细解析),MATLAB代码实现车牌定位、分割与识别技术详解报告(附三千字报告),MATLAB代码,车牌定位,车牌分割及车牌识别,带3千
- 粒子群优化算法精准辨识锂电池二阶RC模型参数:高仿真精度下的SOC估计铺垫,粒子群优化算法精准辨识锂电池二阶RC模型参数:仿真验证与SOC估计铺垫,使用粒子群优化算法(PSO)辨识锂电池二阶RC模型参
- OpenCV多角度多尺寸边缘模板匹配技术:带掩膜功能,实现C#自定义控件的快速集成与高效使用,OpenCV多角度多尺寸边缘模板匹配技术:带掩膜功能,仿VisionPro效果,使用OpenCVSharp
- 基于图像处理的模板匹配与形状识别技术:圆形、椭圆、长方形识别在C++与C#中的实现与应用,基于图像处理的模板匹配与形状识别技术:圆形、椭圆及长方形的精准识别(C++与C#双语言支持),模板匹配,形状识
- 基于SVPWM改进的异步电机感应电机直接转矩控制策略,有效减小转矩纹波参考文献研究,基于SVPWM改进的异步电机感应电机直接转矩控制策略,有效抑制转矩纹波优化控制效果文献研究,基于SVPWM改进的异步
- AndroidAndroid 悬浮窗开发
- Matlab Simulink下的Buck型双向DC-DC变换器:VDMC与PI控制策略,50V输入压降至30V,波形优质,参数可调,需matlab2020b及以上版本,Matlab Simulink
- javascript 动态网页设计期末大作业(自己手写的,很适合期末作业)
- 自抗扰控制与PI控制策略在Boost电路中的对比与应用:内环自抗扰外环PI的实践解析,自抗扰控制与PI控制对比下的Boost电路优化研究:内环自抗扰外环PI策略探讨,自抗扰控制的boost电路 lad
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)