Как уведомить адаптер для RecyclerView об изменении элемента

«Как уведомить адаптер для RecyclerView об изменении элемента» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для уведомления адаптера об изменении элемента используйте notifyItemChanged(position). Это оптимальный способ, так как он перерисовывает только указанный элемент, а не весь список.

// Обновляем данные в списке
dataList[position] = newItem
// Уведомляем адаптер
adapter.notifyItemChanged(position)

Если нужно обновить несколько элементов:

adapter.notifyItemRangeChanged(startPosition, itemCount)

Для сложных изменений (изменились данные + позиция) лучше использовать DiffUtil - он вычислит минимальные изменения и анимирует их.