Size: a a a

Android Architecture

2020 January 27

АЕ

Алексей Ершов in Android Architecture
Если получается инкапсулировать достаточно сложный элемент как полностью самостоятельный кусок UI - честь вам и хвала.
источник

AD

Aleksey D. in Android Architecture
Алексей Ершов
Почему? Элементы списка могут быть сложные, Инстаграм тот же.
не такие уж там и умные элементики
научить ViewHolder кидать в Presenter 12 событий - не проблема
источник

DE

Denis Egorov in Android Architecture
Unat
А как-же ViewPager?
это уже более сложный вариант. Я говорю про обычные списки, про которые и был вопрос
источник

DE

Denis Egorov in Android Architecture
Алексей Ершов
Почему? Элементы списка могут быть сложные, Инстаграм тот же.
фотка и подпись?)
источник

АЕ

Алексей Ершов in Android Architecture
Aleksey D.
не такие уж там и умные элементики
научить ViewHolder кидать в Presenter 12 событий - не проблема
ага, и умножить на 10 видов вьюхолдеров в ленте ВК) Это плохая декомпозиция.
источник

AD

Aleksey D. in Android Architecture
Алексей Ершов
Если получается инкапсулировать достаточно сложный элемент как полностью самостоятельный кусок UI - честь вам и хвала.
это уже про ViewGroup + ViewGroupViewModel/ViewGroupPresenter
источник

АЕ

Алексей Ершов in Android Architecture
Да, конечно.
источник

АЕ

Алексей Ершов in Android Architecture
Denis Egorov
это уже более сложный вариант. Я говорю про обычные списки, про которые и был вопрос
Разумеется, надо вовремя грань провести, когда список "умнеет" :)
источник

IM

Ihor Martyniuk in Android Architecture
Denis Egorov
ViewHolder должен быть тупой. Если приходится делать презентер для ViewHolder, то где-то допущена ошибка
эм... не вижу противоречия. Вью-холдер остается тупым. Но вместо одной вью, которая занимается задачами типа отобрози вот это состояние на элементе по такому индексу, появляется две вью. Одна умеет добавить\удалить итем, другая - отобразить состояние.

Обе работают как обычные вью.
Единственная сложность - делегирование onBind() и определение OnResume. Но это сложность конкретно моя. Т.К. я у себя принимаю за дефолт, что все View : LifecycleOwner.
При типичных attach()\detach() ее не должно возникать
источник

IM

Ihor Martyniuk in Android Architecture
(
казалось бы, откажитесь просто от рх, нет, они продолжают доказывать, что нужен
Кто тебе доказывает, что он нужен? Он удобен. Те, кому он удобен - могут использовать. Если тебе не нравится - приверженцы реактивного программирования не будут искать тебя ночами с факелами)
источник

(

( in Android Architecture
Ihor Martyniuk
Кто тебе доказывает, что он нужен? Он удобен. Те, кому он удобен - могут использовать. Если тебе не нравится - приверженцы реактивного программирования не будут искать тебя ночами с факелами)
вот ты и попался в ловушку постмодерна
источник

IM

Ihor Martyniuk in Android Architecture
(
вот ты и попался в ловушку постмодерна
А теперь то же самое , только на русском и без выебонов, если можно)
источник

(

( in Android Architecture
Ihor Martyniuk
А теперь то же самое , только на русском и без выебонов, если можно)
ща бы на набросы про рх отвечать
источник

DE

Denis Egorov in Android Architecture
Ihor Martyniuk
эм... не вижу противоречия. Вью-холдер остается тупым. Но вместо одной вью, которая занимается задачами типа отобрози вот это состояние на элементе по такому индексу, появляется две вью. Одна умеет добавить\удалить итем, другая - отобразить состояние.

Обе работают как обычные вью.
Единственная сложность - делегирование onBind() и определение OnResume. Но это сложность конкретно моя. Т.К. я у себя принимаю за дефолт, что все View : LifecycleOwner.
При типичных attach()\detach() ее не должно возникать
ViewHolder должен уметь просто представить данные (готовые данные) в удобной пользователю форме. Адаптер тоже должен получать уже готовые данные. Если нужно, то ViewHolder может кинуть эвент, что на него где-то нажали. Этот эвент ты можешь обработать, где хочешь. По факту api у твоего списка должно быть такое: myAdapter.updateData(data). Если приходится накручивать какую-то сложную логику, то надо делать это со стороны. Инкапсулируй свой список в какой-нибудь контроллер и используй его. Но делать презентер для каждого вью холдера - это жестко. Хотя мб я чего-то не понимаюю
источник

AD

Aleksey D. in Android Architecture
Denis Egorov
ViewHolder должен уметь просто представить данные (готовые данные) в удобной пользователю форме. Адаптер тоже должен получать уже готовые данные. Если нужно, то ViewHolder может кинуть эвент, что на него где-то нажали. Этот эвент ты можешь обработать, где хочешь. По факту api у твоего списка должно быть такое: myAdapter.updateData(data). Если приходится накручивать какую-то сложную логику, то надо делать это со стороны. Инкапсулируй свой список в какой-нибудь контроллер и используй его. Но делать презентер для каждого вью холдера - это жестко. Хотя мб я чего-то не понимаюю
> мб я чего-то не понимаю

волшебная фраза, которая весь негатив сводит на нет
источник

DE

Denis Egorov in Android Architecture
Aleksey D.
> мб я чего-то не понимаю

волшебная фраза, которая весь негатив сводит на нет
да, особенно когда негатива нет
источник

DE

Denis Egorov in Android Architecture
эта фраза говорит о том, что я не являюсь источником истины, а просто выражаю свое мнение
источник

DE

Denis Egorov in Android Architecture
по факту я могу ошибаться
источник

МE

Михаил E1ement in Android Architecture
Aleksey D.
> мб я чего-то не понимаю

волшебная фраза, которая весь негатив сводит на нет
😂👍
источник

IM

Ihor Martyniuk in Android Architecture
(
ща бы на набросы про рх отвечать
Возникает смутное подозрение, что ты, парень склонен к спору ради спора
источник