ListView设置滑动到底部自动加载 重复多次加载问题

本文介绍了一种解决ListView滑动到底部时持续加载的问题的方法。通过记录最后一项位置并在加载完成后更新,避免了重复加载。代码中详细解释了实现原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

给listview设置滑动到底部自动加载的时候 当你滑动到底部有时候会一直加载不停,针对这个问题我搞了一种解决方案,看代码下面都有注释

/**页数点击之后也得清零,获取数据成功之后增加一页*/
    int i = 1;
    /**
     * 此处出现BUG滑动过程中会一直在加载 用total来记录最后一项的位置
     * 当totalcount<totalItemCount的时候就记录此值并加载数据
     * 当加载完成再次滑动时totalItemcount已经发生变化而totalcount是记录的最后的值
     * 二者不记载到最后会一直不相同所以当totalcount不小于totalitemcount的时候就让直接返回不在加载数据
     * */
    int totalcount;
    OnScrollListener onscrollerlistener = new OnScrollListener() {

        @Override
        public void onScrollStateChanged(AbsListView view, int scrollState) {
            if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
                System.out.println(view.getLastVisiblePosition() + "stocket"
                        + (Data.size() - 1));
            }

        }

        @Override
        public void onScroll(AbsListView view, int firstVisibleItem,
                int visibleItemCount, int totalItemCount) {
            if ((firstVisibleItem + visibleItemCount) == (totalItemCount)) {
                if (totalcount < totalItemCount) {
                    totalcount = totalItemCount;
                    Total_params.put("pagenum", i);
                    getStockData(Total_params, false);
                } else {
                    return;
                }
            }
        }
    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值