На хабре уже полно статей на эту тему, все они в основном предлагают решения для удобного реюзинга ячеек в RecyclerView. Сегодня мы пойдем немного дальше и приблизимся к простоте сравнимой с DataBinding.
Если вы еще не используете DataBinding для списков (хороший пример) и делаете это по старинке — то эта статья для вас.
В последнее время мне часто приходилось переписывать много адаптеров для списков, и каждый раз я брался за голову — в адаптере находилась бизнес-логика, сетевые запросы и роутинг приложения и многое другое. Все это очень сложно поддавалось изменениям.
Поначалу я как обычно выносил все лишнее из адаптеров в презентеры, фрагменты и другие классы. В итоге я пришел к мнению, почему бы не:
«обезопасить» свои адаптеры от внесения туда лишней логики;
переиспользовать биндинги ячеек;
добиться какой-то универсальности для работы с несколькими типами ячеек.
Если Вам знакомы такие проблемы, то добро пожаловать под кат.