Alexey
можешь посоветовать ресурс по которому ты разбирался в том, что такое notify*?
Kanstantsin
разобраться, что такое notify*
this.eventList = eventList; notifyDataSetChanged();
Kanstantsin
такой вариант тоже поидее может сработать
Mike
это, там чем плох мой вариант
Странная форма защитного копирования + полный нотифай вместо частичного.
Kanstantsin
нууу
Kanstantsin
а если при апдейте тебе приходят данные и ты должен заменить что было в recycler всё полностью
Kanstantsin
ну как вариант пересоздать может адаптер ещё
Kanstantsin
instance
No
Здорово, ребят, есть EditText внутри TextInputLayout, и соответственно hint. Делаю программно setText/append и текст в едиттекст накладывается на хинт
Kanstantsin
а если с рандомных мест ?
Kanstantsin
removeByIndex
Kanstantsin
ну камон, а если листы отличаются полностью
Alexey
DiffUtils тоже не спасает, но так и быть
Alexey
я лучше соглашусь с тем, что это просто я криворукий мудак
Alexey
потому что машина, работающая по алгоритму, ошибаться не может
Kanstantsin
на мой взгляд хороший вариант или менять весь датасет или чистить что был, добавлять новые и не забывать notify
Alexey
по-моему третий
Artem
removed(old.size) added(new.size)
Ребят, сорян за оффтоп: а как в сообщении выделить текст, чтобы был код как в
Mike
Ребят, сорян за оффтоп: а как в сообщении выделить текст, чтобы был код как в
однострочный обернуть бэктиками (`), многострочный — тремя бэктиками
Akim
и я не скажу, что особенный я, но не помогает
А ошибка воспроизводима на эмулях или на доступных вам устройствах? Почему бы не отладить на горячую. И если это самсунг - включить battery saver
Alexey
я воспроизводил на пет прожекте ее и на эмуляторе и на устройстве
Alexey
сейчас же пришел просто краш в одну из систем
Alexey
в Фабрик
Kanstantsin
ну очевидно что у тебя там даже 2 листа в адаптере как я вижу, и разные холдеры
Kanstantsin
надо отлаживать короче
Alexey
да, только это не воспроизводится
Alexey
а так спасибо за совет
Alexey
надо отлаживать
Kanstantsin
там у тебя 100% где-то не совпадает что-то по листам
Kanstantsin
из ошибки это видно
Alexey
это тоже ясно
Alexey
У него число элементов вообще динамическое там. Т.е. могут быть данные новые не доабвленые, но число измениться
Kanstantsin
но просто по коду сложно понять, у тебя и холдеров там 3, и коллекций 2 из которых собирается
Alexey
от этого и крашится. имхо
Alexey
ладно, всем спасибо
Kanstantsin
как вариант тоже
Alexey
бест практисес почитаю
Alexey
от этого крашится
Kanstantsin
@Override public int getItemCount() { return super.getItemCount() + getCountShift(true); }
Alexey
это я заметил на пете еще
Alexey
пол-года назад
Kanstantsin
я думаю надо логировать тут
Alexey
да
а ресайклер должен знать сколько в нем элементов, а не по факту.
Mike
от этого крашится
всё ты знаешь, и причины нашёл, кажется, пора идти кодить
Akim
У него число элементов вообще динамическое там. Т.е. могут быть данные новые не доабвленые, но число измениться
У меня похожая была проблема с этим - решил отладкой и более точной работой с датасэтом.
Kanstantsin
и чекать сколько RecyclerView думает что там элементов и сколько есть
Alexey
дело в том, что там даже если блин делаешь вот так list = new ArrayList() data = list notify()
Kanstantsin
похоже цифры разнятся в каком-то случае одном
Kanstantsin
нечастом
Alexey
то нихрена
Kanstantsin
да в динамическом подсчете айтемов ошибка походу
Alexey
getCountShift(true); вот тут дичь находится
Kanstantsin
может там что-то считается не так
Mike
то нихрена
ты сейчас утверждаешь, что ресайклер в принципе не работает
Alexey
я просто натыкался на такие мнения на SO
Alexey
не говорю
Alexey
что это так
Alexey
это не так, он работает, просто все, что вы мне сказали, я пробовал
Kanstantsin
int shift = 1; shift += hasEvents() && getJobList().size() > EVENTS_POSITION ? (positive ? 1 : -1) : 0; return shift;
Kanstantsin
подебаж этот метод
Kanstantsin
вангую что тут что-то не так рассчитывается
Alexey
@futurobot_tg правда вот норм глаголит
Mike
это не так, он работает, просто все, что вы мне сказали, я пробовал
Кажется, продолжать бесполезно. Всё попробовал, всё знаешь.
Alexey
Кажется, продолжать бесполезно. Всё попробовал, всё знаешь.
да я признаю, что ломается потому что говно
Alexey
но я не все знаю
Alexey
все бы знал - на написал бы сюда
Kanstantsin
дык пора идти отлаживать )
Kanstantsin
у тебя довольно запутанный там код
Kanstantsin
без IDE и логов или дебага не разобраться норм )
Alexey
мне пока не надо это исправлять
Kanstantsin
уже указали ж на несколько возможных причин
Alexey
я увидел краш, который снился мне в страшном сне
Alexey
и который я не поборол