android ListView滚动条监听判断滚动到底部还是顶部
代码:
- lv.setOnScrollListener(new OnScrollListener() {
- public void onScrollStateChanged(AbsListView view, int scrollState) {
- switch (scrollState) {
- // 当不滚动时
- case OnScrollListener.SCROLL_STATE_IDLE:
- // 判断滚动到底部
- if (lv.getLastVisiblePosition() == (lv.getCount() - 1)) {
- }
- // 判断滚动到顶部
- if(lv.getFirstVisiblePosition() == 0){
- }
- break;
- }
- }
- @Override
- public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
- if (firstVisibleItem + visibleItemCount == totalItemCount && !flag) {
- flag = true;
- } else
- flag = false;
- }
- };
唯一要讲的就是在 OnScroll中firstVisibleItem + visibleItemCount == totalItemCount
firstVisibleItem :表示在屏幕中第一条显示的数据在adapter中的位置,visibleItemCount 则是屏幕中最后一条数据在adapter中的数据,totalItemCount则是adapter中的总条数!
adapter(适配器)我们把其看做是一个list集合,可以在其中add很多的数据!而在屏幕中显示的数据,
只是这个集合中的一部分!firstVisibleItem +visibleItemCount = 这个集合总条数(list.size())
以此判断动态加载数据!
android ListView滚动条监听判断滚动到底部还是顶部的更多相关文章
- Android 手势水平监听判断
package com.zihao.ui; import com.zihao.R; import android.os.Bundle; import android.app.Activity; imp ...
- android listview 的监听事件
今天遇到了一个比较让我头疼的问题,不过追根揭底只是我对listview理解的不够透彻罢了, 闲言少叙,说说我遇到的问题吧: 上篇随笔我写了关于listview的使用,如果你也已经写好了列表那么恭喜这一 ...
- Android ListView的监听事件
Android开发时,最常用的控件之一就是ListView了,而使用ListView的同时,必然需要对它设置监听器,常用的监听器有这么几个1.OnItemClickListener 2.OnTouch ...
- JS监听页面滚动到底部事件
废话不说,直接上代码,放心我这个是最好的,直接放到js脚本里,直接生效: $(window).scroll(function(){ var scrollTop = $(this).scrollTop( ...
- 功能整合(一):滚动条的变相隐藏、js控制div的渐变显示、滚动条监听
1.滚动条的变相隐藏 思路: 1. 把body的横向,纵向的超出部分隐藏,宽设置100%:高设置100%.就没有body的滚动条了, 2. 然后把最外层的div的宽设置的比body的宽宽一点,把d ...
- react 监听页面滚动
html: // 如果使用typescript, 定义dom类型 private dom: HTMLDivElement | null // ReactJS中,对Div监听只需要绑定 onScroll ...
- android的电话监听
android的电话监听 新建一个项目,结构图如下: PhoneService: package com.demo.tingdianhua; import android.app.Service; i ...
- js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写
js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写 一.总结 一句话总结:滚动事件scroll(),浏览器窗口调整监听resize(),思考好监听对象. 1.滚动事件scroll()的监听对象是 ...
- Android实现网络监听
一.Android Wifi常用广播 网络开发中主体会使用到的action: ConnectivityManager.CONNECTIVITY_ACTION WifiManager.WIFI_STAT ...
随机推荐
- 【linux高级程序设计】(第十四章)TCP高级应用 3
控制socket文件描述符属性 1.set/getsockopt()修改socket属性 int getsockopt (int __fd, int __level, int __optname, v ...
- eclipse CreateProcess error=87
http://blog.csdn.net/mylove709834360/article/details/9253697 完美解决~
- AC日记——最小正子段和 51nod 1065
最小正子段和 思路: 找最小的大于0的sum[j]-sum[i](j>i): 高级数据结构(splay)水过: 来,上代码: #include <cstdio> #include & ...
- 小程序收集formid跳转后收集不到
为了突破微信小程序模板消息限制,需收集到足够的推送码,即每次提交表单时获取到的formId.一个formId代表着开发者有向当前用户推送模板消息的一次权限.当表单组件中的属性report-submit ...
- java的IO,AIO简单对比
以下内容转载lzzzl Channel 通道 Buffer 缓冲区 Selector 选择器 其中Channel对应以前的流,Buffer不是什么新东西,Selector是因为nio可以使用异步的非堵 ...
- Xamarin XAML语言教程使用方法设置进度条进度
Xamarin XAML语言教程使用方法设置进度条进度 在ProgressBar中定义了一个ProgressTo方法,此方法也可以用来对进度条当前的进行进行设置,ProgressTo与Progress ...
- 【bzoj1415】【聪聪和可可】期望dp(记忆化搜索)+最短路
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=57148470 Descrition 首先很明显是 ...
- [51Nod1487]占领资源
题目大意: 有一个$n\times m(x,m\leq 100)$的网格图,每个格子有一个权值$w_{i,j}(1\leq w_{i,j}\leq 9)$.你可以在图中选两个格子,每个格子$(x,y ...
- hdu 1501 Zipper dfs
题目链接: HDU - 1501 Given three strings, you are to determine whether the third string can be formed by ...
- Codeforces Round #535 (Div. 3) [codeforces div3 难度测评]
hhhh感觉我真的太久没有接触过OI了 大约是前天听到JK他们约着一起刷codeforces,假期里觉得有些颓废的我忽然也心血来潮来看看题目 今天看codeforces才知道居然有div3了,感觉应该 ...