学习如何使用OnScrollListener,我希望每当用户在列表视图中向上或向下滚动时,我都可以检测到新的List项,如果用户向下滚动,我想通过1对于进入屏幕的每个新单元格,如果它向上滚动我希望它减少,任何帮助都会有很长的路要走,谢谢。
counter = 0;
list.setOnScrollListener(new OnScrollListener() {
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// If list scroll up
counter++;
// If list scrolls down
counter--;
}
});
答案 0 :(得分:3)
我想通了,当你向下滚动时,第一个可见项增加1
counter = 0;
list.setOnScrollListener(new OnScrollListener() {
public void onScrollStateChanged(AbsListView view, int scrollState) {
// Do nothing
}
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
if(firstVisibleItem > counter + 3 || firstVisibleItem < counter - 3){
counter = firstVisibleItem;
Toast.makeText(ListTestActivity.this,
"counter = " + counter,
Toast.LENGTH_LONG).show();
}
}
});
答案 1 :(得分:1)
使用firstVisibleItem
变量。当它改变时,适当调整你的计数。