У меня есть ScrollView и есть вот такой слушатель
@Override
protected void onScrollChanged(int iX, int iY, int iOldX, int iOldY)
{
if (mOnScrollListener != null)
{
mOnScrollListener.onScrollChanged(this, iX, iY, iOldX, iOldY);
if (iY >= iOldY) {
mOnScrollListener.onGoDown();
} else {
mOnScrollListener.onGoUp();
}
}
}
Но проблема в том что как только я делаю скролл вниз(к примеру) то метод onGoDown() вызывается раз 100 и это логично я согласен
Какое условие сделать чтоб этот метод был вызван только один раз если юзер делает скролл вверх и один раз если вниз
Ответ
Скорей всего надо держать два флага
boolean isScrollDown, isScrollUp;
if (iY >= iOldY) {
if(isScrollDown)
return;
mOnScrollListener.onGoDown();
isScrollDown = true;
isScrollUp = false;
} else {
if(isScrollUp)
return;
mOnScrollListener.onGoUp();
isScrollDown = false;
isScrollUp = true;
}
Это на вскидку
Комментариев нет:
Отправить комментарий