Реализация onScrollListener для определения конца прокрутки в ListView

У меня ListView , отображающий некоторые элементы . Я хотел бы выполнить некоторые операции с элементами, которые в настоящее время отображаются в видимой части ListView , в зависимости от того, как прокручивается ListView ; таким образом, я решил реализовать OnScrollListener из ListView . Согласно справочнику по API Android, метод onScroll «будет вызываться после завершения прокрутки». Мне это кажется правильным, поскольку после завершения прокрутки я выполняю свои действия с ListView (метод onScroll возвращает индекс первого отображаемого элемента и количество отображаемых элементов).

Но после реализации, я вижу из LogCat , что метод onScroll не просто запускается после завершения прокрутки, но запускается для каждого нового элемента, который входит в представление отображения, от начала до конец прокрутки. Я не ожидаю такого поведения и не нуждаюсь в нем. Другой метод прослушивателя (onScrollStateChanged) вместо этого не предоставляет информацию об элементах, отображаемых в данный момент в ListView .

Итак, знает ли кто-нибудь, как использовать эту пару методов для определения окончания прокрутки и получить информацию об отображаемых элементах? Несоответствие между ссылкой на API и реальным поведением метода меня немного смутило. Заранее спасибо.

PS: Я видел несколько похожих тем, но ничего не помогает мне понять, как все это работает ..!

42
задан Andro Selva 15 June 2011 в 13:58
поделиться