0

我正在尝试获取 ListView 的(任何一个)可见坐标的值。我使用了 ScrollListener,但我不确定哪个属性会给我这些值。我最终想使用这些值来计算滚动方向。有谁知道如何做到这一点?

4

2 回答 2

1

试试这个方法。

listView.getLastVisiblePosition() in your onScroll listner

这不会给出坐标,但您会很容易地找到向上或向下的滚动方向。

这将返回一个int值,如果它增加而不是执行向下滚动,如果 ts 减少,则表示用户正在向上滚动。

于 2013-02-07T14:09:19.963 回答
0

OnScrollListener有一个你需要覆盖调用的函数onScroll,你可以用它来解决你的问题。这是一个代码片段:

listView.setOnScrollListener(new OnScrollListener() {

     @Override
     public void onScroll (AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

          if (++firstVisibleItem + visibleItemCount > totalItemCount) {
               //Reached last element in list, Do Something...
          }
     }
}

您可以使用它来确定用户是向上还是向下滚动以及坐标。firstVisibleItem将为您提供列表中第一个可见项目的位置/坐标,visibleItemCount将告诉您还有多少元素是可见的并且不totalItemCount言自明。

于 2013-02-07T14:37:32.647 回答