ListView 滑动时数据重复错位解决
2015-08-19 19:10
375 查看
当我们使用Listview 列表显示数据稍多些进行滑动浏览时,图片或者其他数据出现了错位或重复。遇到这样问题,我们不必在单独给某一个ImageView控件去setTag(),我们使用HashMap来解决问题。(ListView volleyImageLoader 加载图片重复也可以试试)
HashMap根据position存储item对应的view ,然后在从map中取view使用。如何写,如下操作
1.定义Map(写在自定义适配器类中)
Map<Integer,View> map = new HashMap<Integer,View>(); // key :position value :item view
2.map存储值及使用(写在自定义适配器类中getView())
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(map.get(position) == null){ // 判断position对应view是否为空
holder = new ViewHolder();
convertView = View.inflater(context,R.layout.textlayout,null);
holder.v = (ImageView)convertView.findView(R.id.v);
map.put(position,convertView); // 将convertView 存入map
convertView.setTag(holder);
}else{
convertView = map.get(position); // 从map中取出view
holder = (ViewHolder)convertView.getTag();
}
return convertView;
}
以上代码编写就可以解决ListView滑动时数据重复错误。
HashMap根据position存储item对应的view ,然后在从map中取view使用。如何写,如下操作
1.定义Map(写在自定义适配器类中)
Map<Integer,View> map = new HashMap<Integer,View>(); // key :position value :item view
2.map存储值及使用(写在自定义适配器类中getView())
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(map.get(position) == null){ // 判断position对应view是否为空
holder = new ViewHolder();
convertView = View.inflater(context,R.layout.textlayout,null);
holder.v = (ImageView)convertView.findView(R.id.v);
map.put(position,convertView); // 将convertView 存入map
convertView.setTag(holder);
}else{
convertView = map.get(position); // 从map中取出view
holder = (ViewHolder)convertView.getTag();
}
return convertView;
}
以上代码编写就可以解决ListView滑动时数据重复错误。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories