У меня проблема. Что я делаю: у меня есть ListView, в котором есть некоторые изображения. Чтобы сделать прокрутку более гладкой, я отключил отображение изображений при прокрутке. Теперь в Android появляется ошибка которая иногда заставляет состояние прокрутки не возвращаться из SCROLL_STATE_FLING обратно в SCROLL_STATE_IDLE, что приводит к тому, что мои изображения не появляется снова.
Моя первая мысль состояла в том, чтобы установить onTouchListener и проверить, когда я получаю ACTION_UP, но это не помогает, потому что состояние SCROLL_STATE_FLING, очевидно, устанавливается после этого. Поэтому теперь я подумал, что могу запустить таймер, когда состояние SCROLL_STATE_FLING устанавливается и проверяется через некоторое время, если состояние все еще находится в режиме ожидания, а затем аннулирует мое представление. Но я не думаю, что это очень хорошее решение.
Есть ли у кого-нибудь лучшее представление о том, как я могу это сделать? Я видел этот ответ, но мне нужно решение для уровня API < 9 (плюс это также иногда случается, когда он не перекрещивается)
Вот мой код для этого:
mList.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
mListAdapter.setIsScrolling(scrollState != SCROLL_STATE_IDLE);
Log.i(this, "scrollStateChanged" + scrollState);
if (scrollState == SCROLL_STATE_IDLE) {
mList.invalidateViews();
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});
Спасибо, Мария