Анимировать новые строки в ListView с помощью CursorAdapter - PullRequest
3 голосов
/ 26 октября 2010

У кого-нибудь есть предложения по этому поводу?В данный момент новая строка добавляется в базу данных, и я вызываю Requery ().Я хотел бы, чтобы новые строки анимировались, когда они появляются впервые.Многие добавления строк будут происходить в середине списка, а не вверху или внизу.Мне бы хотелось, чтобы они как-то анимировались, чтобы пользователь мог их сразу увидеть.

Я думал о том, что в моем адаптере может быть хеш-карта (или некоторая структура данных), которая содержит идентификатор конкретной строки и логическое значение.указав, был ли он просмотрен.В bindView проверяется логическое значение для идентификатора этой строки, и, если оно истинно, анимация некоторого мигания, а затем обновляет структуру данных.Это звучит правдоподобно?

Кроме того, когда запрашивается курсор, я бы хотел прокрутить список до новой строки.К сожалению, я не думаю, что смогу узнать его положение без грубого форсирования списка, пока не найду его.Есть предложения?

1 Ответ

0 голосов
/ 11 октября 2011

Похоже, вы уже знаете ответ на свой вопрос. Да, HashMap, который отображает идентификаторы элементов на «уже просмотренные», звучит как хорошее решение этой проблемы. Если элемент новый, вы можете применить анимацию к представлению элемента, когда этот элемент отображается в bindView. Вы также можете использовать метод smoothScrollToPosition в классе ListView для прокрутки до первой новой строки.

Чтобы заполнить хэш-карту, вам нужно пройтись по всем элементам, вы также можете записать первый элемент, который был новым в то время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...