- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 setOnScrollListener 有问题。每当我滚动到 ListView 的底部时,它就会一直调用我的异步任务。如何将 setOnScrollListener 设置为仅在到达底部后加载。
listview.setAdapter(adapter);
mProgressDialog.dismiss();
listview.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
int lastInScreen = firstVisibleItem + visibleItemCount;
if (lastInScreen == totalItemCount) {
new loadmore().execute();
} else {
}
}
);
最佳答案
只要您向下滚动 ListView ,就会调用 OnScroll 方法,因此最好的办法是使用某种填充,例如实现的 here。 .
public class EndlessScrollListener implements OnScrollListener
private int visibleThreshold = 5;
private int currentPage = 0;
private int previousTotal = 0;
private boolean loading = true;
public EndlessScrollListener() {
}
public EndlessScrollListener(int visibleThreshold) {
this.visibleThreshold = visibleThreshold;
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if (loading) {
if (totalItemCount > previousTotal) {
loading = false;
previousTotal = totalItemCount;
currentPage++;
}
}
if (!loading && (totalItemCount - visibleItemCount) <= (firstVisibleItem + visibleThreshold)) {
// I load the next page of gigs using a background task,
// but you can call any function here.
new LoadGigsTask().execute(currentPage + 1);
loading = true;
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}
visibleThreshold – 在加载更多内容之前,当前滚动位置下方的最小项目数。
currentPage – 您加载的当前数据页
previousTotal – 上次加载后数据集中的项目总数
loading – 如果我们仍在等待最后一组数据加载,则为真。
关于Android ListView setOnScrollListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17473933/
我的 setOnScrollListener 有问题。每当我滚动到 ListView 的底部时,它就会一直调用我的异步任务。如何将 setOnScrollListener 设置为仅在到达底部后加载。
每次我向上或向下滚动列表时,我都会使用 OnScrollListener 隐藏(或取消隐藏)一些 View 。这是附加到我的 ListView 的代码。 lv.setOnScrollListener(
我尝试实现教程中描述的粘性标题 ListView http://javatechig.com/android/listview-header-parallax-with-sticky-view-in-
当新数据在循环中连续加载而无需用户滚动时,我在 gridview 中实现 setOnScrollListener 时遇到问题。我想等待用户滚动到末尾然后才加载新数据。如何做到这一点?这是给我无限循环而
我正在工作 BaseAdapter.i 有自定义 ArrayList.i 成功地在我的 ListView 中调整了我的自定义 ListView 这是我的基本适配器源 public class Tran
我想在用户向下滚动 >90% 时做一些事情,所以我想我可以像在 ListView 中那样添加一个 onScrollListener。不幸的是,ScrollView 似乎没有类似的方法。有什么办法可以做
当用户到达列表中可见的项目时,如何在底部显示进度条。 我编写了一段代码,我在其中使用 Web 服务获取数据,现在我想填充部分记录,因为我的 JSON 中有大约 630 条记录。 这是我用来从 JSON
setOnScrollListener 已弃用。阅读文档 from here它告诉使用 addOnScrollListener(OnScrollListener) 和 removeOnScrollLi
下面是一个代码,其中数据将在滚动时出现,但有一个错误,即类转换异常。请帮我解决这个错误。现在我已经添加了整个 fragment 类Similar_Matchs_Tab,我们可以在其中从服务器获取。 j
这是我第一次使用 onscroll 监听器。我的问题是每次向下滚动时如何获取 20 个新行?。 我知道当我向下滚动 GridView 时将执行此代码。 public void onScroll(Abs
我是一名优秀的程序员,十分优秀!