如何在Android上从服务器检索数据时滚动更新ListView?

目前,我使用AsyncTask来处理Http连接并以JSON格式检索数据。
加载所有的数据是微不足道的,但它消耗了太多时间,所以我决定切换到使用LIMIT OFFSET (mysql)一次加载10个项目。
接下来,我为列表视图设置事件onScroll ,以便每次用户滚动时创build一个新的AsyncTask 。 不过,从我读的内容来看, AsyncTask存储在一个线程池中,一次只限制5个线程,所以我不确定这是一个正确的方法。 我是新手到客户端/服务器应用程序,所以我可以给我一个关于这个问题的build议吗? 任何相关的文章,文档将不胜感激。

Solutions Collecting From Web of "如何在Android上从服务器检索数据时滚动更新ListView?"

这里有几个有用的链接,

Android:为Android Market等无尽列表实现进度条和“加载…”

带有当前asynchronous任务的无尽列表视图

Android无尽列表

http://www.androidguys.com/2009/10/21/tutorial-autogrowing-listview/

http://mylifewithandroid.blogspot.com/2010/03/progressively-loading-listviews.html

在简单的步骤中,

用户滚动 – 检测列表的结尾
1)显示进度通知
2)要求更新
3)接收更新(asynchronous)和扩展列表

一个典型的方法是,例如,首先加载25,然后在列表中有一个页脚,显示例如当前的计数和总计数,并且在按压加载另外25个等等。 这将是一个分页加载。

当你这样做时,你必须保持当前位置,并通知适配器列表已经改变。

如果你正在使用ListView ,我相信我可以安全地假设你必须使用某种ListAdapter 。 您不应该在onScroll事件中启动一个新的AsyncTask ,而应该只维护一个AsyncTask以从服务器检索数据,将该数据添加到ListAdapter数据集,然后调用notifyDatasetChanged上的ListAdapter

ListAdapterListView将负责其余的ListAdapter