我有一个ListView,正如问题所示,我正在加载延迟的图像。问题是这个方法覆盖了我的自定义onScrollListener。我尝试使用:
aq.id(listview).scrolled(new customScrollListener());
aq.id(listview).adapter(myAdapter);
这两行是在调用活动类中,我在列表中加载了所有数据后执行此操作。即使在此之后,scrollListener似乎也不起作用。我哪里错了?有什么想法吗?
UPDATE - CustomScrollListener:
private class CustomScrollListener implements OnScrollListener {
private Context context;
private int visibleThreshold = 0;
private int currentPage = 0;
private int previousTotal = 0;
private boolean loading = true;
CustomScrollListener(Context context) {
this.context = context;
}
CustomScrollListener(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) && totalItemCount>10) {
// do something
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}
答案 0 :(得分:0)
你的问题是AndroidQuery souldDelay会覆盖你自己的监听器。看看文档:
shouldDelay()方法使用setOnScrollListener()方法和 将覆盖任何以前非aquery指定的滚动侦听器。如果一个 滚动侦听器是必需的,使用aquery方法 滚动(OnScrollListener侦听器)来注册您的侦听器。