ListView列表视图

最常用的控件之一,使用场景例如:微信,手机QQ等等。

android:divider:每个item之间的分割线,可以使用图片或者色值。

android:dividerHeight:高度





使用方式,等同于Spinner:ArrayAdapter,SimpleAdapter,BaseAdapter。





BaseAdapter:

特点:高度自定义item布局,同时逻辑操作更加丰富。

getCount():item的数量

getItem():获取item中的数据

getItemId():获取item的id,通常使用position作为id即可。

getView(position, convertView, parent):获取item的布局。





当一个item出现在屏幕中时(尽管没有完全出现),就会执行getView()方法。





ListView优化:

一:convertView的复用

二:ListView的高度属性需要设置为match_parent,这样保证getView的调用次数与屏幕内item的次数保持一致

三:ViewHolder视图保持者。记录了控件所在位置,防止频繁的findViewById,因此能够避免频发触发GC,节省了内存开销。

最新文章

  1. java 平面上最近两个点之间的距离
  2. Oracle导入excel数据方法汇总[转]
  3. LA 3971 (二分) Assemble
  4. ecshop 用户名和邮箱都能登陆
  5. 加快modelsim仿真速度的方法(原创)
  6. 基于jq图片居中插件 [center]
  7. Jquery中index()问题
  8. (原)前端知识杂烩(css系列)
  9. php目录函数
  10. Python3 字符串前面加u,r,b的含义
  11. 浅析C语言的变量
  12. Github上Laravel开源排行榜Star数61-90名
  13. vue安装与配置
  14. BZOJ1855或洛谷2569 [SCOI2010]股票交易
  15. hdu 3015
  16. mysql查询语句分析 explain/desc用法
  17. Android高级_视频播放控件
  18. 【转】Fiddler工作原理
  19. 简易版本vue的实现和注解
  20. 【Java并发编程】之十:使用wait/notify/notifyAll实现线程间通信的几点重要说明

热门文章

  1. 数据库允许空值(null),往往是悲剧的开始
  2. 详解Flask上下文
  3. JsLint undeclared ‘window’
  4. 【NOIP2015】斗地主 题解(DFS+贪心)
  5. Java—匿名对象/内部类/访问修饰符/代码块
  6. Python多进程队列间传递对象
  7. Springboot调用Oracle存储过程的几种方式
  8. 极简 Node.js 入门 - 2.3 process
  9. 性能分析(6)- 如何迅速分析出系统 CPU 的瓶颈在哪里
  10. vue keep-alive 不生效和多级(三级以上)缓存失败