6226
- 收藏
- 点赞
- 分享
- 举报
ListView和GridView里滚动监听方法setOnScrollListener介绍
本帖最后由 jp1017 于 2015-8-21 13:37 编辑
今天在学习ListView的分批加载时用到了ListView的监听方法setOnScrollListener,昨天一个帖子里也讲到了最终的解决方案就是这个方法,帖子见这里:
由OOM问题引发的分析 http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=8526&fromuid=8410 (出处: 易百纳论坛)
下面介绍下这个方法:
ListView和GridView里都有个滚动监听方法setOnScrollListener,这个方法在android.widget.AbsListView类里定义,而前面两个显示类都继承这里
这里以ListView介绍,GridView一样一样滴。。。
该方法的定义是这样的:
[attach]2853[/attach]
有唯一参数:AbsListView.OnScrollListener,api里这样介绍:
[attach]2854[/attach]
这个参数是一个接口,因此可以用匿名内部类或者内部类来添加这个参数。
接口里有两个方法:
[attach]2857[/attach]
[color=Red]1、方法onScrollStateChanged[/color]监听着ListView的滑动状态改变,有三种状态:
[attach]2855[/attach]
值是这样的:
[attach]2856[/attach]
SCROLL_STATE_TOUCH_SCROLL:手指正拖着ListView滑动
SCROLL_STATE_FLING:ListView正自由滑动
SCROLL_STATE_IDLE:ListView滑动后静止
[color=Red]2、方法onScroll[/color]监听滑动,用的频率超级高,所以不要做太多事情哦
里面的参数:
firstVisibleItem:表示在现时屏幕第一个ListItem(部分显示的ListItem也算)在整个ListView的位置(下标从0开始)
visibleItemCount:表示在现时屏幕可以见到的ListItem(部分显示的ListItem也算)总数
totalItemCount:表示ListView的ListItem总数
还有两个常用到的位置:
listView.getFirstVisiblePosition()表示在现时屏幕第一个ListItem(第一个ListItem部分显示也算)在整个ListView的位置(下标从0开始)
listView.getLastVisiblePosition()表示在现时屏幕最后一个ListItem(最后ListItem要完全显示出来才算)在整个ListView的位置(下标从0开始)
好了,就这样吧,大家看到了,api里写的很清楚的,这个api的下载看这里:
安卓开发所需的api文档和java文档分享 http://www.ebaina.com/bbs/forum.php?mod=viewthread&tid=8299&fromuid=8410 (出处: 易百纳论坛)
我来回答
回答0个
时间排序
认可量排序
暂无数据
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2015-08-20 21:01:42
-
2017-08-11 16:57:16
-
2023-08-04 14:11:48
-
2015-08-21 16:53:44
-
2019-08-08 16:07:25
-
2020-09-04 17:19:13
-
2016-03-18 11:06:47
-
2019-01-03 10:58:02
-
2020-11-26 15:45:35
-
2020-09-04 17:21:41
-
2018-08-26 08:58:34
-
2018-11-15 21:59:39
-
2012-12-10 13:37:42
-
2008-08-24 16:02:35
-
2021-03-12 16:00:56
-
2020-09-07 12:05:10
-
2015-10-23 11:02:31
-
2020-12-09 15:47:33
-
2020-12-07 11:36:46
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认