一旦显示 ListView 中的最后一个视图,我有一个 onScrollListener 调用 AsyncTask 。AsyncTask 使用 ArrayAdapter 将数据添加到 ListView。问题是当我用它清除 ArrayAdapter 时,arrayAdapter.clear()
它会清除适配器,但 AbsListView 中的所有变量仍然认为 Items 存在,因此它没有检测到我何时位于 ListView 的底部,这是 onScrollListener。
class EndlessScrollListener implements OnScrollListener {
private int visibleThreshold = 5;
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;
}
}
if (!loading && (firstVisibleItem + visibleItemCount) == totalItemCount) {
new loadComments().execute();
loading = true;
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}
我如何也可以重置 AbsListView 中的变量,以便它了解我何时到达 listView 的底部?