Если вы внедрили OnScrollListener для своего списка, вы можете наблюдать, когда меняется ScrollState.Используйте глобальный логический (isScrolling), установленный в true, при вызове smoothScrollBy (), а затем установите его в false, когда OnScrollListener регистрирует ScrollState из SCROLL_STATE_IDLE.
sidebar1.smoothScrollToPositionFromTop(currentPosition, 0, 500);
isScrolling = true;
sidebar1.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
isScrolling = false;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});