Comments 5
Создание адаптера через билдер — очень ограниченный вариант, потому что часто требуется реализовать пагинацию, а тут ни куда без наследования. А так, конечно, Дорфмановские делегаты очень помогают!
Недавно писал на kotlin похожую реализацию, только вместо использования билдера, я оборачиваю каждую модель данных в созданный для нее адаптер и этот элемент добавляю в главный адаптер. Если интересно, то вот ссылка на проект.
Кстати у Вас в проекте notifyDataSetChanged() в функции swapDataset ограничит тех, кто использует DiffUtil.
Кстати у Вас в проекте notifyDataSetChanged() в функции swapDataset ограничит тех, кто использует DiffUtil.
Как вариант, если структура отображаемых даных не сильно отличается, можно использовать единный интерфейс и при появлении нового типа данных, вы просто добавляете имплементацию этого интерфейса.
Дописал в прокте реализацию через DiffUtils, класс DiffUtilCompositeAdapter . Работает с моделями, которые имплементят IComparableItem
public interface IComparableItem {
Object id();
Object content();
}
Sign up to leave a comment.
Delegate Adapter — зачем и как