ListView通过OnScrollListener判断第一项数据或最后一项数据处于可视状态

该博客介绍了如何利用ListView的OnScrollListener来判断列表中第一项和最后一项数据是否在可视区域,这是实现下拉刷新和上拉加载更多功能的基础。
摘要由CSDN通过智能技术生成

下拉刷新和上拉加载更多的前提是能够判断当前显示的数据在数据源中的位置,第一个数据和最后一个数据是否处于可视状态


<pre style="font-family: 宋体; font-size: 12pt; background-color: rgb(39, 40, 34);"><span style="color: rgb(248, 248, 242);"><span style="color:#a6e22e;"><strong>listView</strong></span><span style="color:#f72671;">.</span>setOnScrollListener(<span style="color:#f72671;"><strong>new </strong></span><span style="color:#66d9ef;"><strong><em>AbsListView.OnScrollListener</em></strong></span>() {
    <span style="color:#f72671;"><strong>boolean </strong></span><span style="color:#a6e22e;"><strong>isLastRow </strong></span><span style="color:#f72671;">= </span><span style="color:#f72671;"><strong>false</strong></span>;
    <span style="color:#f72671;"><strong>boolean </strong></span><span style="color:#a6e22e;"><strong>isFirstVisible </strong></span><span style="color:#f72671;">= </span><span style="color:#f72671;"><strong>true</strong></span>;

    <span style="color:#f72671;"><strong>public void </strong></span>onScrollStateChanged(AbsListView <span style="color:#a6e22e;">view</span>, <span style="color:#f72671;"><strong>int </strong></span><span style="color:#a6e22e;">scrollState</span>) {
        <span style="color:#808080;"><em>//正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调
</em></span><span style="color:#808080;"><em>        //回调顺序如下
</em></span><span style="color:#808080;"><em>        //第1次:scrollState = SCROLL_STATE_TOUCH_SCROLL(1) 正在滚动
</em></span><span style="color:#808080;"><em>        //第2次:scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下)
</em></span><span style="color:#808080;"><em>        //第3次:scrollState = SCROLL_STATE_IDLE(0) 停止滚动
</em></span><span style="color:#808080;"><em>        //当屏幕停止滚动时为0;当屏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值