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
|