Size: a a a

Surf Android Standard

2020 January 21

B

Boozy Urban 😏 in Surf Android Standard
Привет, есть вопрос по EasyAdapter. Это нормально, что модель BindableViewHolder хранится в в каждом ViewHolder? Вот к примеру здесь FirstData

https://github.com/surfstudio/SurfAndroidStandard/blob/dev/G-0.5.0/easyadapter/sample/src/main/java/ru/surfstudio/android/easyadapter/sample/ui/screen/common/controllers/FirstDataItemController.kt

Что если модель будет достаточно тяжелая?
источник

M

MIDERY in Surf Android Standard
Boozy Urban 😏
Привет, есть вопрос по EasyAdapter. Это нормально, что модель BindableViewHolder хранится в в каждом ViewHolder? Вот к примеру здесь FirstData

https://github.com/surfstudio/SurfAndroidStandard/blob/dev/G-0.5.0/easyadapter/sample/src/main/java/ru/surfstudio/android/easyadapter/sample/ui/screen/common/controllers/FirstDataItemController.kt

Что если модель будет достаточно тяжелая?
Здравствуйте! Обычно модели в ресайклере достаточно простые, и содержат только элементы, необходимые для отображения конкретного элемента списка, без каких-то битмапов, вьюх, и ссылок на другие классы. Поэтому с тем, чтобы хранить в холдере инстанс, проблем нет.

Ещё существует практика трансформации доменной модели в модель для списка перед отображением на ui, чтобы отсечь все ненужное.
источник

B

Boozy Urban 😏 in Surf Android Standard
А если допустим в модели лежит Bitmap, что в этом случае лучше сделать?)
источник

M

MIDERY in Surf Android Standard
Boozy Urban 😏
А если допустим в модели лежит Bitmap, что в этом случае лучше сделать?)
Можно хранить только идентификатор (например), и вызывать clickListener(id).
Либо устанавливать listener на каждом бинде, но это так себе.
источник

AA

Axbor Axrorov in Surf Android Standard
Boozy Urban 😏
А если допустим в модели лежит Bitmap, что в этом случае лучше сделать?)
Ссылка весит всего 4 байта.
источник

AA

Axbor Axrorov in Surf Android Standard
Boozy Urban 😏
Привет, есть вопрос по EasyAdapter. Это нормально, что модель BindableViewHolder хранится в в каждом ViewHolder? Вот к примеру здесь FirstData

https://github.com/surfstudio/SurfAndroidStandard/blob/dev/G-0.5.0/easyadapter/sample/src/main/java/ru/surfstudio/android/easyadapter/sample/ui/screen/common/controllers/FirstDataItemController.kt

Что если модель будет достаточно тяжелая?
Тут хранится всего лиш ссылка на объект. Этот объект всё ровно хранится в списке внутри адаптера.
источник
2020 January 26

AD

Account Deleted in Surf Android Standard
Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change. ViewHolder 1:ViewHolder{e02cf01 position=1 id=1048917851, oldPos=-1, pLpos:-1} View Holder 2:ViewHolder{4fb314a position=19 id=1048917851, oldPos=-1, pLpos:-1}

На крашлитикс получаю такой креш, оно плавающий. Понимаю что проблема в ItemController ах.  До этого был

 override fun getItemId(data: Case): String = data.id.toString()
креш получал. Изменил на:
 override fun getItemId(data: Case): String = data.id.toString() + "#" + data.caseNumber

   override fun getItemHash(data: Case): String = data.id.toString() + "#" + data.caseNumber
всё еще получаю креш. Как побороть эту проблему?
источник

A

Alexey Turkin in Surf Android Standard
У тебя хешкод генерируется одинаковый для каких-то элементов модели Case
источник

A

Alexey Turkin in Surf Android Standard
Посмотри как генерируется hashcode и исключи коллизии, возможно, поле id не учитывается
источник
2020 January 27

MT

Max Tuev in Surf Android Standard
Account Deleted
Two different ViewHolders have the same stable ID. Stable IDs in your adapter MUST BE unique and SHOULD NOT change. ViewHolder 1:ViewHolder{e02cf01 position=1 id=1048917851, oldPos=-1, pLpos:-1} View Holder 2:ViewHolder{4fb314a position=19 id=1048917851, oldPos=-1, pLpos:-1}

На крашлитикс получаю такой креш, оно плавающий. Понимаю что проблема в ItemController ах.  До этого был

 override fun getItemId(data: Case): String = data.id.toString()
креш получал. Изменил на:
 override fun getItemId(data: Case): String = data.id.toString() + "#" + data.caseNumber

   override fun getItemHash(data: Case): String = data.id.toString() + "#" + data.caseNumber
всё еще получаю креш. Как побороть эту проблему?
Можно просто вызвать у Адаптера setHasStableIds(false)
источник

A

Alexey Turkin in Surf Android Standard
Ну или так
источник

AD

Account Deleted in Surf Android Standard
Оказывается Two different ViewHolders have the same stable ID. выходит когда у двух ViewHolder одинаковые viewType. А я случайно переопределил viewType у одного контроллера. Проблема была в этом. Всем спасибо за помошь.
источник

MT

Max Tuev in Surf Android Standard
Обращайся)
источник
2020 February 07

L

Little Panda 🐼 in Surf Android Standard
Здравствуйте! Можете кинуть ссылки на флуттер чаты?
источник
2020 February 08

AA

Axbor Axrorov in Surf Android Standard
Little Panda 🐼
Здравствуйте! Можете кинуть ссылки на флуттер чаты?
источник
2020 May 02

AA

Axbor Axrorov in Surf Android Standard
Я тут хотел кое что протестировать но наш темплейт не хочет собираться. Выдает вот такую ошибку
No Android-Standard version associated with easyadapter-pagination
Это из за того что easyadapter-pagination не добавлен в components.json?
источник

MT

Max Tuev in Surf Android Standard
Видимо темплей тянет зависимости из артифактори которых нет, можешь попробовать включить локальное подключение стандарта для темплейта
источник

MT

Max Tuev in Surf Android Standard
Поправим тогда после праздников
источник

MT

Max Tuev in Surf Android Standard
Или можешь вообще временно исключить зависимость easyadapter-pagination для тестирования
источник
2020 May 03

AA

Axbor Axrorov in Surf Android Standard
Max Tuev
Или можешь вообще временно исключить зависимость easyadapter-pagination для тестирования
да точно!
источник