您可以在此处找到我的代码: How to correctly build table with data using onPostExecute and ListView
当 ListView 滚动到底部时,我需要从服务器加载数据。我试图在Stackoverflow上寻找解决方案,但它对我没有帮助。
此外,如果不难,我想知道如何理解所有这些。
感谢所有人
答案 0 :(得分:1)
你有2个解决方案:
1)使用OnScrollListener
您必须拥有一个扩展 ListView 的类并实现 OnScrollListener 。
初始化视图时,将其设置为滚动侦听器:
setOnScrollListener(this);
实施方法onScroll
。使用参数 firstVisibleItem , visibleItemCount 和 totalItemCount 滚动时调用它。
当firstVisibleItem+visibleItemCount==totalItemCount
到达列表底部时,您可以再次调用 AsyncTask 来加载下一个项目。
2)使用自定义适配器
在您必须覆盖的方法getView
中,您可以访问正在渲染的项目的位置,即即将在屏幕上显示。
假设您在List items
时到达列表底部时知道的position == items.size()-1
项目。然后,您可以调用 AsyncTask 。
请注意这两个解决方案,如果列表中的所有项目都适合屏幕,则可以经常无故地调用 AsyncTask 。在开始之前,你必须对此进行必要的检查。
答案 1 :(得分:0)
在程序中使用Scroll状态更改侦听器...我希望它肯定能帮到你......
listStudies.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (Logic Condition) {
//Here also You can do your Logic here and then you can achieve your wishes.....
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (Logic Condition) {
//You just do your Logic here and then you can achieve your wishes.....
}
}
});