1

我设置了监听器:

                gridView.setOnScrollListener(new OnScrollListener() {
                @Override
                public void onScrollStateChanged(AbsListView view, int scrollState) {
                    Log.v("","ScrollY" +gridView.getScrollY());
                    Log.v("","ScrollX" + gridView.getScrollX());
                }

                @Override
                public void onScroll(AbsListView view, int firstVisibleItem,
                        int visibleItemCount, int totalItemCount) {
                    // pageNumber = gridElementsCount
                    adapter.setFirstVisibleItem(firstVisibleItem);
                    adapter.setVisibleItemCount(visibleItemCount);

                    if(gridView.getFirstVisiblePosition()==0){
                        mContainerView.setIsOnTop(true);
                    } else mContainerView.setIsOnTop(false);

                }
            });

而且我需要知道滚动后用户何时到达视图顶部。getFirstVisiblePosition()不好,因为它设置0在滚动的一半。

4

1 回答 1

0

文档看来,这firstVisibleItem是第一个可见项目的索引。按照该逻辑,当它为 0 时,您应该位于列表的顶部,因为列表中的第一项应该具有 0 的索引。

于 2013-09-09T13:18:21.230 回答