Alexey
И она хрен исправилась
Alexey
Теперь на работе столкнулся, думаю, мб есть совет из разряда "свой кастомный RV без *такой-то тулзы* решит проблему"
Alexey
единственное, что не пробовал - это кастомный RV, который ловит IndexOutOfBounds и тупо ничего не делает
Alexey
но это бред
Alexey
так нельзя делать
Mike
Теперь на работе столкнулся, думаю, мб есть совет из разряда "свой кастомный RV без *такой-то тулзы* решит проблему"
Совет всегда один — уведомлять ресайклер об изменении датасета. Ну ещё можно ждать конца анимации перед следующим обновлением.
Alexey
Код адаптера в студию
сейчас, но если ты думаешь, что нужно "очищать данные перед переприсвоением или обновлением", то не помогает
Alexey
или если думаешь, что нужно делать через доп создание списка
Alexey
то тоже не помогает
Alexey
@acyut https://gist.github.com/aLT22/47672c02bbd1fbc95e05c92c8303b279
Den
Den: ребзя, возникла такая тема есть enum, его типы являются ключем для мапы сбинженной даггером @Binds @IntoMap @SearchRouteKey(Route.ACCOUNT_ADDITIONAL_CARD) abstract fun bindAccountAdditionalCardRouteHandler(accountAdditionalCardRouteHandler: AccountAdditionalCardRouteHandler) : BaseRouteHandler нужно сделать так, чтобы в мапу клалась одна реализация по нескольким ключам без бойлреплейта, типа. @SearchRouteKey(Route.ACCOUNT_ADDITIONAL_CARD, Route.DEFAULT, …) Кто, что может посоветовать?
Alexey
@acyut https://gist.github.com/aLT22/9d7a8d5dd5e82e9d1b40b222f434dee8
Alexey
это класс-родитель (оснвной адаптер)
Kanstantsin
Я попробовал все просто
ты так говоришь как будто RecyclerView в принципе нормально не работает, хотя все пользуются постоянно, у меня за весь опыт работы таких проблем не было даже с ним..
Mike
@acyut https://gist.github.com/aLT22/47672c02bbd1fbc95e05c92c8303b279
public void setEventList(List<MainEvent> eventList) { this.eventList = eventList; } public void setCompanyList(List<Company> companyList) { this.companyList = companyList; }
Kanstantsin
я думаю у тебя что-то не так реализовано
Alexey
возможно
Alexey
я и не спорю
Alexey
скорее всего так
Kanstantsin
ну вот вариант сверху
Kanstantsin
я обычно делал иначе
Kanstantsin
брал тот же лист, чистил, добавлял туда данные
Kanstantsin
и делал notify
Kanstantsin
ай (
Alexey
брал тот же лист, чистил, добавлял туда данные
и суть в том, что у меня валилось
Alexey
не здесь
Kanstantsin
и ?
Kanstantsin
если ты неправильно лист поменял
Kanstantsin
в ошибке все сказано же
Alexey
как лист менять правильно?
Akim
Может проблема в том что резолвится не тот вьюхолдер на нужное место или кешируется?
Kanstantsin
бла (
Ivan
👆
а трясется так типо
Kanstantsin
я же написал вверху как я делал
Kanstantsin
и это работало
Mike
и суть в том, что у меня валилось
суть в том, что нужно прочитать хотя бы одну статью о том, как пользоваться ресайклером, и больше не писать код, как я скинул выше
Alexey
я поддерживаю
Kanstantsin
this.eventList.clear(); this.eventList.addAll(eventList); notifyDataSetChanged();
Kanstantsin
вот так я делал в сетах
Mike
this.eventList.clear(); this.eventList.addAll(eventList); notifyDataSetChanged();
ужас, конечно, но хоть работать будет
Ivan
да
так даже не скажу, фигня какая-то, мб реал кто сталкивался, они в курсе
Alexey
суть в том, что нужно прочитать хотя бы одну статью о том, как пользоваться ресайклером, и больше не писать код, как я скинул выше
если честно, я не GDE, но мы оба понимаем, что можно прочесть много вариантов статей и все будут рабоать
Kanstantsin
что ты предлагаешь лучше ?
Alexey
ты думаешь этот вариант не работает?
Alexey
краш только 1 за все время
Alexey
и только на самсунге
Alexey
но это не особенность самсунга
Akim
Мне кажется поблема в вычислении размера айтемов ресайкла
Alexey
я это знаю
Alexey
Мне кажется поблема в вычислении размера айтемов ресайкла
возможно, можешь в лс подробнее сказать?
Mike
если честно, я не GDE, но мы оба понимаем, что можно прочесть много вариантов статей и все будут рабоать
Ты скинул код с явным примером того, как нельзя. Я не знаю, что тут ещё обсуждать. GDE, самсунги — к чему это всё?
Dyno
а трясется так типо
и он не дает проскролить донизу, то есть надо проскролить два раза. обычно надо резко скролить и экран доскролится донизу, а тут не дает он так сделать. мб из-за длинной картинки не весь скроллвью прогружается что ли. не знаю. да, фигня какая-то. вечно я на баги попадаю. уже не первый раз
Mike
к тому, что нет единого стандарта того, как правильно
Если почитать хотя бы javadoc к ресайклеру, станет понятно, как делать можно, как — нет.
Kanstantsin
Kanstantsin
можно говорить про все что стандартов нет, но тогда не стоит удивляться доп. багам
Alexey
я разве удивлялся?
Alexey
я сказал, что не знаю, как его решить
Kanstantsin
так уже сказали же несколько раз как
Alexey
но описанные вами способы я менял
Alexey
не помогает
Mike
я сказал, что не знаю, как его решить
Я сказал, как решить, а ты продолжаешь разводить флуд. Будто кто-то должен пойти и закодить за тебя.
Kanstantsin
ну я написал как у меня работает
Kanstantsin
и явно написали какие моменты у тебя не так
Kanstantsin
и их тоже надо менять
Kanstantsin
алё )
Kanstantsin
давай вариант лучше тогда )
Kanstantsin
мне аж интересно )
Justin2228
Товарищи, а есть некий курс по разработке на ведро, который будет обучать на примере разработки реального(функционального) приложения, а не условно обобщенной формы с парой кнопок и переключения между ними?
Alexey
я глуп, но ты просто процетировал существующий код, и сказал выразительно "мои глаза"
Alexey
у нас тут не театральное искусство, вроде
Mike
как?
разобраться, что такое notify*