解决listview,gridview因为分页加载导致的数据复用问题
来源:互联网 发布:淘宝店免费装修教程 编辑:程序博客网 时间:2024/06/05 19:52
listview在Android开发中是比较常用的,通常我们使用listview时加载网络数据为了效率不可能一次性的加载太多,基本上是一次加载十条或者更多一点,就类似与分页加载或者上拉加载更多。这样就无可避免的导致每条item的数据出现混乱,这里就着重解决数据复用的问题。
首先在我们在listview或者gridview继承的BaseAdapter中创建一个HashMap
private HashMap<Integer, View> map = new HashMap<Integer, View>();
2.在重写的getView方法里添加这段代码,用map的位置等于null来代替convertView等于null ,具体代码如下
final ViewHolder holder; if (map.get(position) == null) { convertView = LayoutInflater.from(context).inflate(R.layout.item_layout, null); holder = new ViewHolder(convertView); map.put(position, convertView); convertView.setTag(holder); }else{ convertView = map.get(position); holder=(ViewHolder) convertView.getTag(); }
就这样可以解决listview或者gridview的复用问题
1 0
- 解决listview,gridview因为分页加载导致的数据复用问题
- listView和checkBox因为listView的复用导致错乱
- 延迟加载解决offset过大导致的分页性能问题
- 解决ScrollView中嵌套ListView或GridView导致的ScrollView自动滚动到ListView或GridView位置的问题
- ListView的分页加载问题
- 完美解决ListView内部嵌套GridView导致各种异常,无法点击的问题
- ListView分页加载数据
- ListView分页加载数据
- listView分页加载数据
- listView 分页加载数据
- ListView分页加载数据
- ListView 分页加载数据
- listView分页加载数据
- ListView分页加载数据
- ListView分页加载数据
- ListView分页加载数据
- ListView分页加载数据
- ListView分页加载数据
- 山东省第七届 ACM 省赛 Proxy (最短路)
- Redis都能做什么?Redis 11种Web应用场景举例
- 【OpenCV3】图像通道分离与合并——cv::split()与cv::merge()详解
- [Android] 解决设置了Intent.FLAG_ACTIVITY_NO_ANIMATION 跳转activity还有动画的问题
- CentOS7.3下Docker自定义镜像
- 解决listview,gridview因为分页加载导致的数据复用问题
- Hibernate保存明细表时报 object references an unsaved transient instance错误
- 【单片机】I2C通信原理
- 制作KaliU盘系统
- Opencv学习1: 在Linux下编译运行第一个opencv程序
- 函数式编程(一)
- ios百度地图遇到的坑
- BZOJ2753: [SCOI2012]滑雪与时间胶囊
- 内容提供者---ContentProvider