little text refactor
This commit is contained in:
parent
606ec24231
commit
96d3e39aaf
|
|
@ -1,11 +1,18 @@
|
|||
recyclerview-adapters
|
||||
=====
|
||||
# recyclerview-adapters
|
||||
|
||||
Модуль, расширяющий возможности работы со стандартным `RecyclerView.Adapter`.
|
||||
|
||||
### Основные интерфейсы и классы
|
||||
|
||||
`DelegationListAdapter` - базовый класс, наследник от `RecyclerView.Adapter`. Управлением элементами списка занимаются делегаты. Они добавляются с помощью метода *addDelegate*. Конструктор принимает `DiffUtil.ItemCallback` - интерфейс, описывающий как различать элементы в адаптере, содержит два абстрактных метода: *areItemsTheSame* - метод, сравнивающий элементы, и *areContentsTheSame* - метод, сравнивающий визуальную составляющую элементов. Возьмем, например, список товаров, у которых есть уникальный *id* и *title*, который может повторяться. В `RecyclerView` отображается только название товара, т.е. *title*. В такой ситуации в методе *areItemsTheSame* нужно будет написать `oldItem.id == newItem.id`, а в методе *areContentsTheSame* - `oldItem.title == newItem.title`. Оба эти метода вычисляются в бэкграунд потоке. Методы `getHeadersCount` и `getFootersCount` нужны, когда в списке есть элементы, которые всегда должны быть наверху или внизу. Например, если нужно добавить кнопку после всех элементов.
|
||||
`DelegationListAdapter` - базовый класс, наследник от `RecyclerView.Adapter`.
|
||||
|
||||
Конструктор принимает `DiffUtil.ItemCallback` - интерфейс, описывающий как различать элементы в адаптере. Он содержит два абстрактных метода: *areItemsTheSame* - метод, сравнивающий элементы, и *areContentsTheSame* - метод, сравнивающий визуальную составляющую элементов.
|
||||
|
||||
Например, возьмем список товаров, у которых есть уникальный *id* и *title*, который может повторяться. В `RecyclerView` отображается только название товара, т.е. *title*. В такой ситуации в методе *areItemsTheSame* нужно будет написать `oldItem.id == newItem.id`, а в методе *areContentsTheSame* - `oldItem.title == newItem.title`. Оба эти метода вычисляются в бэкграунд потоке.
|
||||
|
||||
Методы `getHeadersCount` и `getFootersCount` нужны, когда в списке есть элементы, которые всегда должны быть наверху или внизу. Например, если нужно добавить кнопку после всех элементов.
|
||||
|
||||
Управлением элементами списка занимаются делегаты. Они добавляются с помощью метода *addDelegate*.
|
||||
|
||||
`ItemAdapterDelegate` - делегат, который управляет созданием и прикреплением элементов в зависимости от типа элемента.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue