本文参考连接: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的工作,在需要显示大量数     据时显得尤为重要。

 
  1. <pre name="code" class="java"><span style="font-size:24px;">@Override
  2. public View getView(int position, View convertView, ViewGroup parent) {
  3. // TODO Auto-generated method stub
  4. ViewHolder holder = null;
  5. if (convertView == null) {
  6. holder = new ViewHolder();
  7. convertView = mInflater.inflate(
  8. R.layout.temp_layout, null);
  9. holder.mTextView = (TextView) convertView
  10. .findViewById(R.id.temp_layout_text);
  11. convertView.setTag(holder);
  12. } else {
  13. holder = (ViewHolder) convertView.getTag();
  14. }
  15. }</span>
  1.  

2、listView滑动问题

   
  1. <span style="font-size:24px;"> @Override
  2. public void onScroll(AbsListView view, int firstVisibleItem,
  3. int visibleItemCount, int totalItemCount)</span>

参数介绍:

firstVisibleItem :第一个可见item所在的位置,滑动一个,增大一个值。

visibleItemCount:当前屏幕可见个数

totalItemCount:和view.getCount()是同样的值,代表当前view包含总数

如:

第一次初始化滑动数据如下:



滑动一次:



滑动第二次:


上边方法参数的了解,可以更好的开发滑动对应的一些功能

3、getItemViewType(int position)

    ListView中如果item会用到不同的布局,就会通过这个方法来判断当前使用那个      组建,使用方法和getView一样


android listView功能简介的更多相关文章

  1. android——ListView功能的实现

    1.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:a ...

  2. Android ListView异步载入图片乱序问题,原因分析及解决方式

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/45586553 在Android全部系统自带的控件其中,ListView这个控件算是 ...

  3. 【腾讯Bugly干货分享】Android ListView与RecyclerView对比浅析--缓存机制

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d3e3ab10c62013697408 作者:黄宁源 一,背景 Recy ...

  4. Android ListView 常用技巧

    Android ListView 常用技巧 Android TextView 常用技巧 1.使用ViewHolder提高效率 ViewHolder模式充分利用了ListView的视图缓存机制,避免了每 ...

  5. Android Action Bar简介

    Android Action Bar简介 Design: Action Bar Action Bar是在屏幕顶端的一部分内容,通常在整个app进行中都保持存在. 它提供了几个关键的功能: 1.使得重要 ...

  6. Android ListView滑动过程中图片显示重复错乱闪烁问题解决

    最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复.错乱.闪烁的原因及解决方法,顺带提及L ...

  7. Beginning SDL 2.0(1) SDL功能简介

    原文链接为 http://wiki.libsdl.org/Introduction. 由于近期整理音视频可视化的技术,发现好久不更新的SDL发布了2.0版本,以前也没有过于关注,这里准备尝试下.了解S ...

  8. android ListView优化

    android ListView通过优化重用历史缓存实现.listview相应的数据适配器一般使用自己定义BaseAdapter子类,重用历史缓冲区来提高性能. 例如,下面的示例代码演示: 1.lis ...

  9. Android ListView分页载入(服务端+android端)Demo

    Android ListView分页载入功能 在实际开发中经经常使用到,是每一个开发人员必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了測试. 服务端使用MyEcli ...

随机推荐

  1. day-01(html)

    本文档并非个人所写,只是方便自己参考: 案例1-网站信息展示需求: 在页面展示一些文字信息,需要排版技术分析: html:超文本标签语言////////////////////html: 作用:展示 ...

  2. Adobe Photoshop CC 2019 for Mac(介绍及下载)

    [Adobe Photoshop 简介] Photoshop CC 2019 for Mac 破解版专为所有设计人员而设计.从海报到包装,从普通的横幅到绚丽的网站,从令人难忘的徽标到吸引眼球的图标,P ...

  3. springboot学习笔记-5 springboot整合shiro

    shiro是一个权限框架,具体的使用可以查看其官网 http://shiro.apache.org/  它提供了很方便的权限认证和登录的功能. 而springboot作为一个开源框架,必然提供了和sh ...

  4. 运维监控-Zabbix Server 使用微信 WeChat 告警

    运维监控-Zabbix Server 使用微信 WeChat 告警 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 微信公众号告警每个一天只支持1000次告警,如果超出这个次数了就不 ...

  5. linux下统计文本行数的各种方法

    方法一:awk  awk '{print NR}' test1.txt | tail -n1

  6. c++ hash_map/unordered_map 使用

    C++中有很多中key-value形式的容器,map/hash_map/unordered_map/vector_map.下面讲述各个map的使用及其区别. map: #include <ios ...

  7. JAVA-集合类型List(ArrayList、LinkedList)常用操作例子(基础必备)

    package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...

  8. 【leetcode-69】 x 的平方根

    (主要是越界问题) 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去. 示例 1: 输入: 4 ...

  9. PHP7 学习笔记(十二)Stream 函数详解

    官方:http://php.net/manual/zh/ref.stream.php Stream_*系列函数 PHP中对流的描述如下:每一种流都实现了一个包装器(wrapper),包装器包含一些额外 ...

  10. 059、安装配置flannel(2019-03-28 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7424858.html   build flannel   flannel 没哟现成的执行文件可用,必须自己build,最 ...