Как правильно понять recyclerview - PullRequest
0 голосов
/ 25 мая 2020

Я смотрел много видео на Recyclerview для Android разработки в Java, но меня очень смущает, является ли зритель адаптером, который меняет вид, или он действительно просто представляет каждый элемент, отображаемый на экране .

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

1 Ответ

3 голосов
/ 26 мая 2020

Посмотрим, поможет ли это.

Общая задача любого представления в виде списка будет заключаться в отображении длинной цепочки представлений, каждое из которых представляет часть данных, скорее всего, из списка.

А теперь представьте, что мы рассматриваем простейшую реализацию, где он aws отображает все эти представления при создании и позволяет вам прокручивать их. Это, очевидно, очень неэффективно для производительности, так как длинный список потребует большой обработки сразу.

RecyclerView стремится решить эту проблему и создает только достаточно представлений, чтобы поместиться на экране, а при прокрутке изменяет содержимое этих представлений легко отразить больше данных. в разные части представления, что избавляет от необходимости выполнять еще больше работы каждый раз, когда отображаются новые данные. Затем сначала и при прокрутке RecyclerView «привязывает» соответствующие данные к держателям представлений. конкретная реализация:

  • getItemCount - ожидается возврат количества элементов в полном наборе данных
  • onCreateViewHolder - создать держатель представления, представляющий общую c строку
  • onBindViewHolder - привязать данные к держателю представления, тем самым обновляя содержимое строк при задании держателя представления и позиции в наборе данных, которая должна быть привязана
...