Оптимальный способ обновления определенных строк в ListView при использовании MatrixCursor

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

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

1 ответ

Решение

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

Другие вопросы по тегам