BRVAH + RecyclerView模式出现一直调用onLoadMoreRequested的问题

开发过程中发现页面一直在抖动式的执行加载更多,如下所示:

     

经过调试,发现程序一直在回调onLoadMoreRequested方法,

这是什么情况???

查看源码后,发现原来是处理获取到的数据时,出现的问题(以下插入的是假数据):

private void load(int page){
            mList.clear();
            for (int i = 0; i < PAGE_COUNT; i++) {
                int index = (int) (Math.random() * 10);
                if (index > 9) index = 9;
                else if (index < 0) index = 0;
                TempInfo item = new TempInfo(thumbs[index], titles[index], types[index]);
                mList.add(item);
            }
            dealWithData(page);
}

这里为了不创建过多无用的对象,所以创建了一个全局的集合对象mList,每次获取数据前先clean掉旧数据,然后读取新数据。

而恰恰就是这个看似正确的处理方法,导致了adapter无限回调onLoadMoreRequested方法的罪魁祸首。

应该直接新建集合对象接收新数据,此处应改为mList = new ArrayList<>();

改完之后一切运行正常。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值