Почитай про recyclerciew и multiple view types
тоесть в любом случае использовать List?
Ты можешь использовать карту, но тебе тогда нужен linkedhashmap. Тогда ты сможешь ключ использовать в качестве типа вьюхи
а откуда мне знать об ключах? когда я буду адаптер использовать, какой то плохой подход. Мапу юзать в адаптере
Дык а ты пары элементов тяни. Linkedhashmap позволит получать пары в порядке закладывания. Но лично мне такой вариант нравиться меньше всего. Я бы sealed class делал или обёртку и енамчик типов контента
Вот я тоже думаю обертку сделать и хранить там 3 класса Header?, Element?, Footer? и чекать какой из них не null
Нее) Смотри, одно поле типа ContentType, а ты чекаешь его значения (это енам). Или сделай sealed класс - тогда нет нужды в обёртке отдельной и енаме, у тебя носитель данных будет и про тип контента говорить
Ну этот енам я в адаптере хранить буду. А я говорю о том чтобы разные типы как пробросить в адаптер. Список разных типов классов. Надо же их обернуть во что - то)
Если делать запечатанный класс и его наследников: ты в адаптер принимаешь список общего типа, а в том списке конкретных типов наследники (HeaderContent, ItemContent, FooterContent и прочее). Далее ты чекаешь тип элемента в getItemViewType и определяет так тип. Похожее делаешь при биндинге данных - у тебя есть тип (значит знаешь, к чему кастануть), кастуешь общую ссылку к конкретной и достаешь нужные данные
Дак я обернуть тоже самое могу в обычный класс)
Суть понял?)
Но так-то я не агитирую, тут дело вкуса
Обсуждают сегодня