listview滚动异步加载数据

listview为什么要异步滚动加载,根本原因就是数据量大,手机撑不住,性能受影响,耗时,进而用户体验差。今天android521讲解一下很多同学关心的listview滚动异步加载数据。
adapter 和 view 我就不在这里写了,大致说一下思路。listview先加载少量数据,例如10条,给listview加上滚动监听OnScrollListener,其中要重写两个方法onScrollStateChanged,onScroll,本人测试onScrollStateChanged基本上对本程序没用,重点在onScroll

public void onScroll(AbsListView view, final int firstVisibleItem,

final int visibleItemCount, final int totalItemCount) {

if (flag) {


if (firstVisibleItem + visibleItemCount == totalItemCount) {

flag = false;

// 执行线程异步更新listview的数据 可采用AsyncTask

}

}

}
flag比较重要,因为滑动过程中可能出现多次 满足if条件的可能。思路提供完毕。目前多数的软件都是采用这种方式,个人认为赶集的客户端 这个部分做得比较好,eoe的也不错,各有特点,还有那种点击按钮再加载listview数据的就太土了。
www.android521.com 建议大家学习太累的也要娱乐一下。 

本文转至:http://www.eoeandroid.com/forum-redirect-tid-53542-goto-lastpost.html#lastpost


原文地址:https://www.cnblogs.com/pandans/p/1995165.html