Оптимальный способ обновления определенных строк в ListView при использовании MatrixCursor - PullRequest
0 голосов
/ 22 февраля 2012

У меня есть ListView с пользовательской CursorAdapter подачей из MatrixCursor.Каждая строка в ListView имеет изображение, которое загружается асинхронно, и когда загрузка изображения завершится, я хотел бы дать сигнал адаптеру перерисовать строку, о которой идет речь.Я делаю нечто подобное уже с данными из ContentProvider, где я вызываю getContentResolver().notifyChange, чтобы перерисовать конкретную строку.Для MatrixCursor я могу позвонить notifyDataSetChanged, но это не оптимально, поскольку он обновляет каждую строку.

Поэтому мой вопрос: как лучше всего перерисовать определенные строки в ListViewиз временного источника?Есть ли способ настроить «временные» ContentUri с или каким-либо способом запросить, чтобы адаптер делал недействительными только определенные строки?

1 Ответ

0 голосов
/ 22 февраля 2012

Мне удалось добиться того же эффекта, используя setNotificationUri на MatrixCursor с произвольным URI, затем используя getContentResolver.notifyChange(), чтобы сигнализировать о перерисовке. Хотя это работает для меня, мне было бы интересно узнать, является ли это рекомендуемым способом запроса перерисовки определенных элементов.

...