214 похожих чатов

Есть адаптер для ресайклера и несколько holders. Логика создания

единого списка этих holders где должна быть? Во вью модели?

13 ответов

18 просмотров

Если я тебя правильно понял, то у тебя разные view type, обычно это разруливают в Adapter.onCreateViewHolder

Иван-Чепёлкин Автор вопроса
Roman Chumachenko
Если я тебя правильно понял, то у тебя разные view...

Да где мне эти viewtype вставлять в модели данных?)

Иван Чепёлкин
Да где мне эти viewtype вставлять в модели данных?...

А как ты отличаешь какой тип холдера относительно модели? Модели через sealed class сделаны или какие-то поля проверяешь модели?

Иван-Чепёлкин Автор вопроса
Roman Chumachenko
А как ты отличаешь какой тип холдера относительно ...

Я думаю, что это и есть для меня основная проблема. Я получаю модели с сервера и что дальше с ними делать? Как создать список и где?

Посмотри в сторону recycler view adapter delagates. Гуглится несколько вариантов. Получится, что на уровне view model формируется список обычных классов, который потом передаётся адаптеру, который, в свою очередь, выбирает нужный делегат, который содержит view holder

Иван Чепёлкин
Я думаю, что это и есть для меня основная проблема...

Можно попробовать с подхода "в лоб": ты модели условно ведь делишь на несколько типов, вот и вырази это деление на типы через код. Переопредели в адаптере getItemViewType, а потом от этого типа создавай нужный holder в onCreateViewHolder Потом сможешь уже под свои потребности отрефакторить или заменить адаптер на делегаты, как Павел предложил

Иван-Чепёлкин Автор вопроса
Roman Chumachenko
Можно попробовать с подхода "в лоб": ты модели усл...

Да, нужно сначала сделать рабочий вариант, а потом рефакторить)

Иван Чепёлкин
Да, нужно сначала сделать рабочий вариант, а потом...

Я бы попробовал выделять типы данных ещё где-то на уровне viewmodel или выше, на уровне репозитория. Сделать модель через sealed class

Иван-Чепёлкин Автор вопроса
Roman Chumachenko
Я бы попробовал выделять типы данных ещё где-то на...

У меня проблема в том, что я разделяю модели для вью и доменные

Иван Чепёлкин
У меня проблема в том, что я разделяю модели для в...

Так норм, это может вполне оправдано. Я такое мапил обычно на уровне ViewModel, но на истину не претендую

Иван-Чепёлкин Автор вопроса
Roman Chumachenko
Так норм, это может вполне оправдано. Я такое мапи...

Значит беру доменные в во вьюмодели маплю в модели для вью

Иван Чепёлкин
Значит беру доменные в во вьюмодели маплю в модели...

Вроде ок, если логики будет слишком много, можно будет просто вынести в отдельный класс, а вызов все равно на уровне vm оставить

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта