Listview如何提高其效率
来源:互联网 发布:e元素战隼z77宏编程 编辑:程序博客网 时间:2024/04/29 13:11
Listview如何提高其效率
- 如果自定义适配器,那么在getView方法中要考虑方法传进来的参数contentView是否为null,如果为null就创建contentView并返回,如果不为null则直接使用。在这个方法中尽可能少创建view。
- 给contentView设置tag(setTag()),传入一个viewHolder对象,用于缓存要显示的数据,可以达到图像数据异步加载的效果。
- 如果listview需要显示的item很多,就要考虑分页加载。比如一共要显示100条或者更多的时候,我们可以考虑先加载20条,等用户拉到列表底部的时候再去加载接下来的20条。
- 设置listview的监听器,如果listview是飞快滑动状态则不更新view
数据集改变后,如何更新ListView
使用该ListView的adapter的notifyDataSetChanged()方法。该方法会使ListView重新绘制。
如何实现分页加载
① 设置ListView的滚动监听器:setOnScrollListener(newOnScrollListener{….})
在监听器中有两个方法: 滚动状态发生变化的方法(onScrollStateChanged)和listView被滚动时调用的方法(onScroll)
② 在滚动状态发生改变的方法中,有三种状态:
手指按下移动的状态: SCROLL_STATE_TOUCH_SCROLL:// 触摸滑动
惯性滚动(滑翔(flgin)状态): SCROLL_STATE_FLING:// 滑翔
静止状态: SCROLL_STATE_IDLE:// 静止
对不同的状态进行处理:
分批加载数据,只关心静止状态:关心最后一个可见的条目,如果最后一个可见条目就是数据适配器(集合)里的最后一个,此时可加载更多的数据。在每次加载的时候,计算出滚动的数量,当滚动的数量大于等于总数量的时候,可以提示用户无更多数据了。
可以显示多种类型的条目吗
这个当然可以的,ListView显示的每个条目都是通过baseAdapter的getView(int position, ViewconvertView, ViewGroup parent)来展示的,理论上我们完全可以让每个条目都是不同类型的view,除此之外adapter还提供了getViewTypeCount()和getItemViewType(int position)两个方法。在getView方法中我们可以根据不同的viewtype加载不同的布局文件。
- ListView如何提高其效率?
- ListView 如何提高其效率
- Listview如何提高其效率
- android201--如何提高ListView效率
- Android如何提高ListView的滑动效率
- 提高listview运行效率
- ListView的效率提高
- 安卓自定义Adapter,以及如何提高ListView的效率
- 提高ListView的显示效率
- 如何提高阅读效率
- 如何提高编码效率
- 如何提高阅读效率
- 如何提高阅读效率
- 如何提高查询效率
- 如何提高测试效率
- 如何提高开发效率
- 如何提高头脑效率?
- 如何提高C++效率
- Java排序之插入排序
- 精美的聊天布局
- 谁的青春不迷茫
- poj 1006 中国剩余定理
- unity3d--人物移动(RPG游戏黑暗之光)
- Listview如何提高其效率
- 在编写Spring框架的配置文件时,标签无提示符的解决办法
- Cairo开发环境安装与在VC++2012中简单实现
- 微服务产品级敏捷: 重新定义产品的集成测试
- Android中的线程池
- c++ class 初体验
- 161016回顾与复习
- XAML控件(control)
- 银行卡号提取识别技术