我已经实现了一个列表视图,每个用户滚动到底部屏幕,它会自动将新数据添加到列表视图滚动完成后,onScroll() 调用每个进入显示视图的新项目,从开始到结束滚动。
lv_best = (ListView) findViewById(R.id.lv_best);
bestadapter = new LazyAdapter(this, lst_tab_best);
lv_best.setAdapter(bestadapter);
lv_best.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) { }
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
Log.d("onScroll ", firstVisibleItem+"-"+visibleItemCount+"-"+totalItemCount);
boolean loadMore = firstVisibleItem + visibleItemCount >= totalItemCount;
if(loadMore){
new ChangeTab_best().execute();
}
}
});
我在模拟器中运行,上面列出了 5 个项目,但我无法检测到 ListView 中滚动的结束,多次调用 ChangeTab_best()。当我看到 Logcat android 时,所有变量 firstVisibleItem,visibleItemCount,totalItemCount 始终等于 0
那么这里发生了什么?