大家好,我正在使用ListView,在滚动到底部时加载内容。但是如果快速滚动会出现错误,即同一个URL被调用多次,请问有谁能帮助我解决这个问题?我已经了解了SCROLL_STATE_IDLE,但不知道如何在我的代码中实现它。而且即使我没有触摸屏幕,它也在运行。现在我想知道如何在空闲状态下停止代码的运行。以下是我的代码。
int start = 0;
int limit = 3;
loadingMore = false;
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) {
// TODO Auto-generated method stub
int lastInScreen = firstVisibleItem + visibleItemCount;
if ((lastInScreen == totalItemCount) ) {
if(loadingMore == false){
start = lastInScreen - 1;
url = "http://www.dskjhf.com/web-servic/request_response.php?type=get_articles&start="
+ start + "&end=" + limit;
grabURL(url);
}
}}
});
protected void grabURL(String url) {
// TODO Auto-generated method stub
new BackgroundTask().execute(url);
loadingMore = true;
}