ListView滚动方向

时间:2018-10-17 13:09:20

标签: java android listview onscrolllistener

当列表视图向上或向下滚动时,我需要检查滚动方向,我的显示方式为:

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个项目,而最后一个项目只有一半可见,则日志猫开始向我显示这两个项目和在同一时间!

用简单的话来说,在上述情况下,当存在与屏幕相等的项目时,滚动方向就变得模棱两可,而最后一个项目只有一半可见,而当我滚动时,我遇到了这个问题!

有人可以告诉我我做错了什么吗?预先感谢!

2 个答案:

答案 0 :(得分:0)

实现列表视图ScrollListener

try.py

答案 1 :(得分:0)

很幸运,我在GitHub上找到了很棒的东西!我已经将我的简单本机ListView更改为此处列出的Observable List View

   https://github.com/ksoichiro/Android-ObservableScrollView

它就像一种魅力一样工作,因为我想像这样工作!