RecyclerView
RecyclerView е създаден за да подобри работат със списачни данни, като подобрява ListView и GridView.
При работа с RecyclerView се използват:
RecyclerView.Adapter
- За да обработи колекцията с данни и да свърже данните с изгледаLayoutManager
- Помага при позиционирането на елементитеItemAnimator
- Помага при анимиране на обичайни операции като добавяне или премахване на елементи от списъкаViewHolder Pattern
- За подобряване на производителността, чрез кеширане на изгледа, за по-гладко търсене и по-бързо зареждане на елемент.
Компоненти на RecyclerView
LayoutManagers
RecyclerView приема като параметри мениджър на оформление и адаптер, за да бъде създаден. Мениджърът на оформление (LayoutManagers) управлява елементи вътре в RecyclerView и определя кога да се скриват и показват елементи. Пример за работата на LayoutManagers е показването и скриването на елементи по време на скрол, той оптимизира паметта използвана от приложението.
Видове:
LinearLayoutManager
- показва елементи във вертикален или хоризонтален списък.GridLayoutManager
- показва елементите в матрична решетка.StaggeredGridLayoutManager
- показва елементите в шахматна решетка.
RecyclerView.Adapter
RecyclerView използва специфичен вид адаптер. Това е подобен подход на вече използваните, но с някои особености, като например ViewHolder. Трябва да се имплементират два основни метода: един, за попълване на изгледа, и друг за свърване данните с изгледа.
onCreateViewHolder - Приема като входни параметри родителски ViewGrop обект, в който ще се зарежда списъка с View обекти и тип на изгледа. Създава и връща като резултат RecyclerView.ViewHolder, обект на изгледа, който ще се добави към RecyclerView.
onBindViewHolder - Инициализиране на данните в RecyclerView.ViewHolder обекта, който се създава от onCreateViewHolder. Приема като входни данни RecyclerView.ViewHolder обект и позицията в RecyclerView, където ще се позиционира този елемент.
getItemCount - връща като резултат броя на данните в колекцията, която ще се визуализира в RecyclerView
Промяна на данните в ResicleView
Всеки път, когато искаме да добавяме или премахваме елементи от RecyclerView, ще трябва да уведомим изрично адаптера за събитието. Има няколко методи, които да се използват при уведомяване на адаптера за различни промени:
RecyclerView.ViewHolder
В RecyclerView.ViewHolder се описва изглед на елемент и метаданни за неговото място в рамките на RecyclerView
Last updated