AQuery 应该延迟和滚动侦听器



我有一个列表视图,正如问题所暗示的那样,我正在延迟加载图像。问题是这个方法覆盖了我的自定义滚动听众。我尝试使用:

aq.id(listview).scrolled(new customScrollListener());
aq.id(listview).adapter(myAdapter);

这两行位于调用活动类中,我在加载列表中的所有数据后执行此操作。即使在这之后,滚动侦听器似乎也无法正常工作。我哪里出错了?有什么想法吗?

更新 - 自定义滚动侦听器:

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) {
}       
}

你的问题是AndroidQuery souldDelay会覆盖你自己的监听器。查看文档:

shouldDelay() 方法

使用 setOnScrollListener() 方法和 将覆盖任何以前分配的非 AQUERY 滚动侦听器。如果 滚动侦听器是必需的,使用 aquery 方法 scrolled(OnScrollListener 侦听器)改为注册侦听器。

来源:查询图像加载

最新更新