【问题标题】:ListView Scroll DirectionListView 滚动方向
【发布时间】:2019-03-22 04:19:15
【问题描述】:

当我的列表视图向上或向下滚动时,我需要检查滚动的方向,我得到的是:

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 个项目,最后一个项目是一半可见,日志猫开始向我显示两者都下来同时向上!

简而言之,在上述情况下,当有与屏幕相等的项目要适应并且最后一个项目是半可见的并且当我滚动时我遇到了这个问题时,滚动方向是不明确的!

谁能告诉我我做错了什么?提前致谢!

【问题讨论】:

    标签: java android listview onscrolllistener


    【解决方案1】:

    实现listview ScrollListener

             listview.setOnScrollListener(new OnScrollListener() {
                     private int LastVisibleItem;
    
                     @Override
                     public void onScrollStateChanged(AbsListView view, int scrollState) 
                     {}
    
                     @Override
                     public void onScroll(AbsListView view, int firstVisibleItem,
                                  int visibleItemCount, int totalItemCount) {
    
                        if(LastVisibleItem<firstVisibleItem){
                            Log.d("Tag","Scroll down");
                          }
                        if(LastVisibleItem>firstVisibleItem){
                            Log.d("Tag","Scroll up");
                          }
                         LastVisibleItem=firstVisibleItem;
                   }
                });
    

    【讨论】:

    • 请加一点解释!
    【解决方案2】:

    很幸运,我在 GitHub 上发现了一些很棒的东西!我已将简单的原生 ListView 更改为此处列出的可观察列表视图

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

    它就像一个魅力,就像我想要的那样工作!

    【讨论】:

      猜你喜欢
      • 2016-02-18
      • 2017-06-14
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 2014-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多