android - ListView上拉加载更多,如何控制只加载新获取的数据,而不是刷新整个ListView

查看:88
本文介绍了android - ListView上拉加载更多,如何控制只加载新获取的数据,而不是刷新整个ListView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

ListView上拉加载更多,如何控制只刷新新获取的数据,而不是刷新整个ListView,例如:第一页的数据集合list1,上拉时获取到第二页的数据集合list2,然后list1.addAll(list2), adapter.notifyDataSetChanged();就会把所有数据都重新填充一遍,如果有很多页数据的话,填充就会越来越慢

解决方案

不要用ListView, 用RecyclerView.

其中Adapter.notifyItemInserted();就符合你的要求, 仅插入新增的数据, 使用时注意如果插入的数据是在中间, 导致本来的item的位置发生变化, 要调用mAdapter.notifyItemRangeChanged();通知Adapter

具体的使用细节网上教程很多.
另外RecyclerView除了点击事件和分割线比ListView麻烦一点点之外, 其他样式, 数据处理都更灵活, 复杂的列表多使用RecyclerView

这篇关于android - ListView上拉加载更多,如何控制只加载新获取的数据,而不是刷新整个ListView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆