должен ли я написать несколько адаптеров для похожих представлений recycler в android Studio?

#java #android #kotlin #android-recyclerview

#java #Android #kotlin #android-recyclerview

Вопрос:

Я хочу создать разные представления recycler в своем приложении. Все они очень похожи, поскольку каждое представление recycler использует одни и те же данные. Изменился только дизайн. Лучше использовать несколько адаптеров или просто создать один адаптер и позволить этому адаптеру обрабатывать разные представления?

Комментарии:

1. Возможно, вам нужно исследовать «viewType»

Ответ №1:

Как правило, лучше поддерживать ваш код чистым и простым. если у вас одинаковая функциональность с разными представлениями, лучше иметь один адаптер с разными типами представлений.

Ответ №2:

Это действительно зависит — у вас могут быть уникальные адаптеры для каждого представления, у вас может быть абстрактный класс с общей функциональностью, где вам нужно реализовать какой-то пользовательский метод отображения в каждом подклассе, или вы можете передать объект, который обрабатывает отображение вещей определенным образом — или у вас может быть просто один адаптер с некоторыми опциями, и в зависимости от опций, которые вы показываете, загружайте тот или иной макет, что угодно

Какой из них вы выберете, зависит от вашего кода — идея сокращения повторений заключается в том, чтобы упростить чтение и обслуживание. Если все представления довольно разные (не имеет значения, используют ли они одни и те же данные, это то, что вам нужно с этим делать), тогда один большой адаптер с множеством условных элементов для обработки их всех будет сложным — и с ним трудно работать, если вам нужно добавить другой тип отображения

Отдельные адаптеры проще всего, но это много потраченного впустую кода, если все они в основном повторяют одно и то же — и их сложнее поддерживать.

Лично мне нравится композиция, когда есть что-то, чему вы делегируете фактические функции отображения, поэтому есть один адаптер и один компонент презентации, которые вы передаете, чтобы это выглядело так или иначе. Но опять же, это может усложнять ситуацию

Не усложняйте себе жизнь! И не создавайте что-то адаптируемое только потому, что вы, возможно, захотите адаптировать его и повторно использовать в будущем — в большинстве случаев вы этого никогда не сделаете, поэтому не загружайте себя работой больше, чем вам нужно сделать прямо сейчас