Maison > Questions et réponses > le corps du texte
ListView上拉加载更多,如何控制只刷新新获取的数据,而不是刷新整个ListView,例如:第一页的数据集合list1,上拉时获取到第二页的数据集合list2,然后list1.addAll(list2), adapter.notifyDataSetChanged();就会把所有数据都重新填充一遍,如果有很多页数据的话,填充就会越来越慢
阿神2017-04-17 17:48:20
不要用ListView, 用RecyclerView
.
其中Adapter.notifyItemInserted();
就符合你的要求, 仅插入新增的数据, 使用时注意如果插入的数据是在中间, 导致本来的item的位置发生变化, 要调用mAdapter.notifyItemRangeChanged();
通知Adapter
具体的使用细节网上教程很多.
另外RecyclerView
除了点击事件和分割线比ListView麻烦一点点之外, 其他样式, 数据处理都更灵活, 复杂的列表多使用RecyclerView
吧
高洛峰2017-04-17 17:48:20
实际上只是刷新数据不会影响渲染本身的
优化以后的listview本来就是有回收机制的,无论数据是什么 渲染只在屏幕可见区域进行。等你滑到可见以后才会继续渲染。