java ListView滚动方向
当我的listview向上或向下滚动时,我需要检查滚动的方向,我得到的结果如下:
int lastVisibleItem = 0;
boolean isScrollingDown = false;
void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (firstVisibleItem > lastVisibleItem) {
isScrollingDown = true;
Log.e("logkey","down");
}
else {
Log.e("logkey","up");
isScrollingDown = false;
}
lastVisibleItem = firstVisibleItem;
}
问题是,当可见项目与屏幕相等时,或者当整个屏幕上有项目时,假设屏幕上只有6个项目,而最后一个项目是半可见的,则log cat开始同时向我显示向下和向上两个项目
简单地说,在上面的例子中,当有与屏幕相等的项目要放入时,滚动方向是不明确的,最后一个项目是半可见的,当我滚动时,我遇到了这个问题
谁能告诉我我做错了什么?提前谢谢
# 1 楼答案
实现listview滚动监听器
# 2 楼答案
幸运的是,我在GitHub上找到了一些很棒的东西!我已将简单的原生列表视图更改为此处列出的可观察列表视图
它就像一个符咒,就像我想做的那样