android listView功能简介
本文参考连接:http://blog.csdn.net/kesenhoo/article/details/7196920
android中listView是非常常用的组建,下边就经常用到的功能做一下简单的介绍
1、adapter对应的getView方法:
此方法的作用:获取list item的每一项view,取到后返回进行显示。
问题: 当有很多数据需要显示时,创建view怎么办?
对此,Android提供了一套重复利用的机制叫做“Recycler”:
原理简单描述下就是这样:
在一个完整的ListView第一次出现时,每个Item都是Null的,getView的时候会执行到需要inflate一个Item的代码段,假设整个view只能最多显示10个item,那么 当滑动到第11个Item的时候,第一个item会放入“recycler“,如果第11个Item和放 入“Recycler”的item的view一致,那么就会使用"Recycler"里面的Item来显示,
从而不用再重复inflate一次,这样大大节省了创建View的工作,在需要显示大量数 据时显得尤为重要。
<pre name="code" class="java"><span style="font-size:24px;">@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder = null;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(
R.layout.temp_layout, null);
holder.mTextView = (TextView) convertView
.findViewById(R.id.temp_layout_text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
}</span>
2、listView滑动问题
<span style="font-size:24px;"> @Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount)</span>
参数介绍:
firstVisibleItem :第一个可见item所在的位置,滑动一个,增大一个值。
visibleItemCount:当前屏幕可见个数
totalItemCount:和view.getCount()是同样的值,代表当前view包含总数
如:
第一次初始化滑动数据如下:
![]()

滑动一次:
![]()

滑动第二次:
![]()
上边方法参数的了解,可以更好的开发滑动对应的一些功能
3、getItemViewType(int position)
android listView功能简介的更多相关文章
- android——ListView功能的实现
1.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...
- Android ListView异步载入图片乱序问题,原因分析及解决方式
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android全部系统自带的控件其中,ListView这个控件算是 ...
- 【腾讯Bugly干货分享】Android ListView与RecyclerView对比浅析--缓存机制
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d3e3ab10c62013697408 作者:黄宁源 一,背景 Recy ...
- Android ListView 常用技巧
Android ListView 常用技巧 Android TextView 常用技巧 1.使用ViewHolder提高效率 ViewHolder模式充分利用了ListView的视图缓存机制,避免了每 ...
- Android Action Bar简介
Android Action Bar简介 Design: Action Bar Action Bar是在屏幕顶端的一部分内容,通常在整个app进行中都保持存在. 它提供了几个关键的功能: 1.使得重要 ...
- Android ListView滑动过程中图片显示重复错乱闪烁问题解决
最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...
- Beginning SDL 2.0(1) SDL功能简介
原文链接为 http://wiki.libsdl.org/Introduction. 由于近期整理音视频可视化的技术,发现好久不更新的SDL发布了2.0版本,以前也没有过于关注,这里准备尝试下.了解S ...
- android ListView优化
android ListView通过优化重用历史缓存实现.listview相应的数据适配器一般使用自己定义BaseAdapter子类,重用历史缓冲区来提高性能. 例如,下面的示例代码演示: 1.lis ...
- Android ListView分页载入(服务端+android端)Demo
Android ListView分页载入功能 在实际开发中经经常使用到,是每一个开发人员必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了測试. 服务端使用MyEcli ...
随机推荐
- JSON语法、对象、遍历数组的区别和基本操作
JSON 语法规则 JSON 语法是 javascript 对象表示语法的子集. 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 JSON 名称/值对 JSON 数据的书写格式是: ...
- servlet模拟SpringMVC
1. web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=&q ...
- ES学习之分片路由
本文主要内容: 1.路由一个文档到一个分片 2.新建.索引和删除请求 3.取回单个文档 4.局部单个文档 5.多文档模式 6.理解一下ES深度分页(from-size)的劣势 路由一个文档到一个分片 ...
- 高性能的代理服务-Envoy
Envoy最初建于Lyft,是一个高性能的代理服务,为服务网格提供了基础. 它与应用程序并行运行,通过以平台无关的方式提供通用功能来抽象网络. 当基础架构中的所有服务流量都通过Envoy网格时,通过一 ...
- js监听键盘事件
用JS监听键盘按下事件(keydown event) 1.监听全局键盘按下事件,例如监听全局回车事件 1 $(document).keydown(function(event){ 2 if(eve ...
- 01-maya基础
maya基础 1,ctrl shift m 切换面板工具栏. 2,空格键+ 右键 :快速的切换视图. 3,在一视图上单击空格键,可放大显示. 4, 工程的创建 1,创建工程:文件--项目窗口,建完后, ...
- 07-查询操作(DQL)-多表查询
一. 综述 查询操作主要从两个方面来说:单表查询和多表查询. 多表查询包括:笛卡尔积.外键约束.内连接查询.外链接查询.自连接查询. 二 . 案例设计 1. 设计产品表(product). ...
- SQL Server进阶 遍历表的几种方法
https://www.cnblogs.com/mcgrady/p/4182486.html
- z-index设置后导致遮罩层显示跳动问题
如图,1,3为top,bottom div,2为iscroll,4为遮罩层,如果1设置z-index后,不设置遮挡不住2,遮罩层4弹出会卡顿,既不设置z-index,又能遮挡iscroll的办法是在h ...
- Nginx不支持Post数据中带有"."
如果提交的数据中带有.,nginx会把数据过滤掉,会导致后台收不到数据.下面是一个错误示例及解决办法