У меня есть собственный просмотр списка, каждая запись содержит вращающийся ProgressBar и однострочный текстовый просмотр. Я всегда обновляю только первый элемент в списке. Проблема в том, что каждый раз, когда я вызываю notifyDataSetChanged, все видимые представления либо воссоздаются, либо перерабатываются как convertView.
У этого подхода есть 2 проблемы:
все записи воссоздаются, и это медленно - и это не требуется, поскольку я обновляю только текстовое представление в первой записи
анимация ProgressBar перезапускается каждый раз
Так что я подумал, что я просто сохраню ссылку на первый просмотр в адаптере и обновлю ее вручную. Это сработало, но случайным образом выдает IllegalStateException («Содержимое адаптера изменилось, но ListView не получил уведомление. Убедитесь, что содержимое вашего адаптера не изменено из фонового потока, а только из потока пользовательского интерфейса.»)
Как мне это решить? Есть ли способ уведомить ListView, что изменилась только первая запись? Даже если анимация ProgressBar существует, она все равно не будет работать. Есть ли другой способ обновить его вручную?
Спасибо