Определить, когда пользователь нажимает на начало просмотра в Android
Я установил слушателя:
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
на половине свитка.
1 ответ
Из документации может показаться, что firstVisibleItem
индекс первого видимого элемента. По этой логике, когда он равен 0, вы должны быть на вершине списка, так как первый элемент в списке должен иметь индекс 0.