Обновить список Android после включения scrollBy

Это мой первый пост в stackoverflow. Я использую это несколько раз, когда у меня есть проблема, и каждый раз нахожу решение. Но сегодня все иначе. Есть нерешенная проблема:

У меня есть список, и я хочу применить к нему магнитный эффект. Чтобы сделать это, я использую scrollBy по одному пикселю с Thread для перемещения позиции списка. Визуально все идеально, listview перемещается хорошо. Но когда пользователь снова хочет прокрутить, listview возвращается к своей предыдущей позиции (непосредственно перед scrollBy), прежде чем нормально прокручивать пальцем пользователя.

Я пробовал несколько тестов, например, я отображаю значение v.getTop() (v находится в элементе просмотра в списке) ДО моего scrollBy и ПОСЛЕ. Значения одинаковые, но визуально действительно отличаются, потому что список перемещается. Также визуально вы можете увидеть небольшой артефакт: этот разделитель находится в элементе списка. Это означает, что визуально listview хорош, но программно не хорош... в то время как scrollBy делает недействительным имущество.

У кого-нибудь есть идея или решение?

Спасибо за вашу помощь.

PS: Извините за мой английский, я французский. Еще раз спасибо.


person thomasg    schedule 29.03.2011    source источник
comment
Можете ли вы опубликовать код, который вы используете?   -  person David Snabel-Caunt    schedule 30.03.2011


Ответы (1)


Используйте getScrollY(), чтобы найти текущую позицию, а затем установите эту позицию после ее сброса.

person Kingpin    schedule 29.03.2011