我设置了监听器:
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
。
答案 0 :(得分:0)
documentation firstVisibleItem
似乎{{1}}是可见的第一个项目的索引。通过该逻辑,当它为0时,您应该位于列表的顶部,因为列表中的第一项应该具有0的索引。