转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49617013    文章出自:薛瑄的博客

你也可以查看我的其他同类文章,也会让你有一定的收货

ListView的 滚动事件监听

实现滚动监听,首先需要通过实现OnScrollListener 接口,
重写一下两个方法:

  • onScrollStateChanged    用于监听ListView滑动状态的变化

  • onScroll  用于监听ListView屏幕滚动

onScrollStateChanged

// 监听滑动状态的变化@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {    // OnScrollListener.SCROLL_STATE_FLING; //屏幕处于甩动状态    // OnScrollListener.SCROLL_STATE_IDLE; //停止滑动状态    // OnScrollListener.SCROLL_STATE_TOUCH_SCROLL;// 手指接触状态    // 记录当前滑动状态}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

scrollState 回调顺序如下:

  • scrollState = SCROLL_STATE_TOUCH_SCROLL(1):表示正在滚动。当屏幕滚动且用户使用的触碰或手指还在屏幕上时为1
  • scrollState =SCROLL_STATE_FLING(2) :表示手指做了抛的动作(手指离开屏幕前,用力滑了一下,屏幕产生惯性滑动)。
  • crollState =SCROLL_STATE_IDLE(0) :表示屏幕已停止。屏幕停止滚动时为0。

onScroll

监听屏幕滑动,并记录当前页面item显示情况

// 监听屏幕滚动的item的数量@Overridepublic void onScroll(AbsListView view, int firstVisibleItem,        int visibleItemCount, int totalItemCount) {
  • 1
  • 2
  • 3
  • 4

onScroll中参数讲解:

1、 firstVisibleItem:当前窗口中能看见的第一个列表项ID(从0开始)关于这个参数的详细理解可参考这里
 2、 visibleItemCount:当前窗口中能看见的列表项的个数(小半个也算)
 3、 totalItemCount:列表项的总数

在ExpandableListView中,组类和子类都会被计算为Item,

  • 图中红色代表手机
  • 图中黑色代表ExpandableListView
  • 1 和2 代表组项目,2.1  2.2代表展开的子项

  • firstVisibleItem 指的是2.1,此时的2.1在列表项的索引是2,组项目1的索引为0,组项目2的索引为1

  • visibleItemCount 为5

  • totalItemCount 为8

参考:http://blog.csdn.net/lang791534167/article/details/45287053

关注我的公众号,轻松了解和学习更多技术
 

onScrollStateChanged 和 onScroll相关推荐

  1. Android群英传笔记——第四章:ListView使用技巧

    Android群英传笔记--第四章:ListView使用技巧 近期也是比較迷茫.可是有一点点还是要坚持的,就是学习了.近期离职了,今天也是继续温习第四章ListView,也拖了事实上也挺久的了,lis ...

  2. 如何让listview或者gridview设置到底刷新新数据

    昨天简单的看了一下ScrollView的例子,虽然可以实现拉到底触发监听,但是Listview和gridview本身就自带了下拉属性,所以不需要ScrollView来实现. 那么在Listview和g ...

  3. Android之 ListView滑动时不加载图片

    listview加载图片优化的功能, 在我们使用新浪微博的时候,细心的同学一定发现了,在滑动的过程中,图片是没有被加载的, 而是在滑动停止时,才加载图片了. 我们今天就做一个这样的效果吧. 我们先考虑 ...

  4. android 固定底部 布局_Android系统列表控件

    在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...

  5. android listview添加数据_Android系统列表控件

    在android系统控件中,有多个控件可以展示列表数据. 一.ListView 该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指进行滑动. ListView ...

  6. listview的简单实现

    1.listView的xml 2.listVIew的每各Item的布局xml 3.创建一个adapter继承BaseAdapter 4.将数据绑定到视图    adapter的代码样例: public ...

  7. android+面试题

    1.常用的存储方式有哪些?(概率50%) (五种,说出哪五种,五种存储方式什么情况下用.)注意sharepreferes对象支持读取不支持写入,写入引用Editor. SQLite: SQLite是一 ...

  8. Android学习笔记——归纳整理

    目录 一:Android系统架构 二:Actvity相关 2.1基础相关 2.2 Intent相关 2.2.1 Intent的组成 2.2.2 显式Intent 2.2.3 隐式Intent 2.2. ...

  9. android 面试题

    下载地址 CSDN下载地址:          点击下载 1.常用的存储方式有哪些? (五种,说出哪五种,五种存储方式什么情况下用.)注意sharepreferes对象支持读取不支持写入,写入引用Ed ...

最新文章

  1. Windows Server 2008 定义用户桌面图标
  2. tensolrflow之基础变量
  3. 在 WSL2.0 的 Ubuntu 18 里使用 Docker
  4. python打log_python根据文件大小打log日志
  5. 点击list view中一行内容可以在combox中显示_java版飞机大战小游戏详细教程(零基础小白也可以分分钟学会!)...
  6. Spark的RDD概要DAG概述
  7. 2021年12月最新大数据白皮书(附下载)
  8. win10快捷键及浏览器快捷键
  9. 操作系统:信号量机制之生产者与消费者实验
  10. pe系统 服务器维护,FirPE 维护系统
  11. 平板做笔记本电脑的副屏教程
  12. android service录音,android录音并上传至服务器
  13. iphone个人热点无法开启_iPhone无法开启个人热点怎么回事 iPhone无法开启个人热点解决方法...
  14. Java 以空格分割字符串
  15. 电控测试团队建设回顾
  16. 模拟ic设计工程师面试总结
  17. 初创企业数据体系建设
  18. leetcode-136-只出现一次的数字(java|python)
  19. 集美大学c语言大作业,2019年集美大学硕士研究生考试初试自命题考试大纲C语言程序设计函数程序设计,20%(30分)...
  20. 取款机中出现假币的分析

热门文章

  1. java动态绑定和静态绑定区别_理解静态绑定与动态绑定
  2. Guava(一)Lists与Maps
  3. 《FLAT-REGION DETECTION AND FALSE CONTOUR REMOVAL IN THE DIGITAL TV DISPLAY》,译名:数字电视显示中的平场检测及伪轮廓消除
  4. C语言求 a+aa+aaa+aaaa+a....a 的值
  5. 离散数学偏序关系哈斯图上(下)确界极小(大)值最大(小)值
  6. Android系统稳定性----Crash
  7. 如何设置公众号自定义菜单添加文件?
  8. 四苯乙烯和β-环糊精聚集诱导发光聚合物/Pb~(2+)诱导GSH-Au(Ⅰ)聚集诱导发光微球的研究
  9. LTE Cat 1 STM32 4G N58
  10. MAC 开不开机的问题