M
кинь ссылку на него
Яўгеній
https://github.com/YauhenBel/TestProjectUzhakhau
Яўгеній
пытался писать чисто, но всеравно дебри получились(
M
Очень сложно разбираться в твоем адаптере
M
Зачем ты сделал адаптер Parcelable? Сохраняй другую сущность
Яўгеній
Зачем ты сделал адаптер Parcelable? Сохраняй другую сущность
мне нужно был объект адаптера сохранять в bundle, что бы при смене ориентации данные не из БД выгружать, а из памяти
M
Так сохраняй данные, а не адаптер
влад
вот это чот как-то не ок вообще
M
Для таких типов лучше ENUM заведи, читабельнее будет
влад
если тебе надо сделать отображение снизу-вверх, то для это у ресайкла есть специальный аргумент в верстке
Яўгеній
вот это чот как-то не ок вообще
ну вот это связано с нулловым элементом, потому что у меня есть два разных вью для списка, и что бы определить когда какой вставлять, этот метод и задействован
Яўгеній
если тебе надо сделать отображение снизу-вверх, то для это у ресайкла есть специальный аргумент в верстке
это я знаю, пробовл, но оно поменяло верх-низ местами, и теперь, когда добавлялся новый элемент, то кнопка скрывалась за верхней частью экрана, то есть список растягивался вверх, а не вниз
влад
upd: как же сложно читать твой код :)
Яўгеній
upd: как же сложно читать твой код :)
ну вот другого ожидать от члеовек, который сам этим занимается не стоит))
влад
вернись сперва к нормальному отображению списка, возможно найдешь ошибку
Яўгеній
так я уже пробовал это, потом списко растягивается вверх, а не вниз
Яўгеній
знаяю я те два метода для layoutmanager
влад
хорошо, тогда вынеси переворачивание списка за рамки адаптера
влад
пусть адаптер занимает тем, для чего создан: отображает данные
Яўгеній
и там кстати, проблема с отрисовкой тоже не решилась, все так же рандомно - то отрисовывался новый элемент, то нет
M
От null избавься в любом случае. И да, как написал владик, адаптер должен заниматься своим делом)
влад
ну хз, в самом нулле нет проблем, это ок флаг для отображения кнопки в данном случае
Яўгеній
От null избавься в любом случае. И да, как написал владик, адаптер должен заниматься своим делом)
я просто не знаю, как иначе вставить кнопку в самое начало, каким образом я скажу адаптеру, что вот, список закончился, вставь еще элемент с кнопкой...
M
Конец списка?
M
покажи скрин как это выглядит
Яўгеній
ну типа да, всегда в конце списка
M
Так бери размер списка
M
а обычный add что?
M
он в конец добавит
Яўгеній
в смысле? я имею ввиду, каким еще образом, если не нулл в конце списка, можно заставить адаптер добавить еще один элемент...
M
При каких условиях нужно добавлять?
Яўгеній
типа, самый первй элемент спсика это кнопка, так всегжа
M
А дальше?
Яўгеній
влад
по нажатию на + проиходит добавление нового элемента с i+1?
влад
//list = {null, 92, 91, 90 ...} list.add(1, list[1]+1) //list = {null, 93, 92, 91, 90 ...} notifyItemInserted(1)
влад
Разобрался, поток пошел. Вопрос закрыт
если не лень, то кратко расскажи, какая проблема была и как решил, если это не просто ответ из гугла
M
листы не лучший выбор для добавлений в середину
Яўгеній
по нажатию на + проиходит добавление нового элемента с i+1?
это грубо говоря, и тот код который вы похже написали, подошел бы, если бы по заданию не надо было данные хранить в бд, а нумерация, несмотря на все манипуляции, не должны была сохраняться.
M
Тебе вообще обязательно чтобы кнопка была элементом recycler?
влад
кстати да, ее можно положить рядом и скроллить вместе с ресайклером
Яўгеній
Тебе вообще обязательно чтобы кнопка была элементом recycler?
в условии такого не было, но я не знал, как ее более элегандтно разместить...)
влад
ты ее в ресайклер положил)
Яўгеній
ты ее в ресайклер положил)
а как ее еще можно положить рядом, и при этом скролить вместе с ресайклом?))
M
<NestedScrollView><LinearLayout><Button/><RecyclerView/></LinearLayout></Nested...>
Яўгеній
я думал ее в тулбар запихнуть, но мне покаалось, что это будет не очень красиво....
M
Можешь что-то типа такого попробовать
влад
это называется типа "Scroll Behavior" же?
M
Когда CoordinatorLayout спользуют
M
А тут можно просто NestedScrollView
влад
а еще кнопку можно фабом бахнуть
M
<NestedScrollView><LinearLayout><Button/><RecyclerView/></LinearLayout></Nested...>
Если Recylcer будет шалить, то пропиши ему android:nestedScrollingEnabled="false", он успокоится
Яўгеній
<NestedScrollView><LinearLayout><Button/><RecyclerView/></LinearLayout></Nested...>
да это же просто прелесть...)) вот то, что я и хотел сделать!)))
Яўгеній
спасибо))
Konstantin
я думал ее в тулбар запихнуть, но мне покаалось, что это будет не очень красиво....
Если тебе не дали конкретных дизайнов - сделай FAB и радуйся жизни. А recycler пусть занимается однотипными данными.
Konstantin
Это всегда боль и гадость, когда в ресайклер суют то, что не относится к основным данным.
Konstantin
Всякие хидеры, футеры, кнопки
Яўгеній
Изначально, так я и хотел сделать, но у меня на каждом айтеме есть кнопка для удаления этого айтема, и если я добавлю эту кнопку, то она закроет кнопку на айтеме.
Яўгеній
Line'R
Line'R
Угадаете что за смарт?
Konstantin
Изначально, так я и хотел сделать, но у меня на каждом айтеме есть кнопка для удаления этого айтема, и если я добавлю эту кнопку, то она закроет кнопку на айтеме.
Обдумывай дизайн, чтобы не закрывало. При скролле можно скрывать кнопку добавления, сдвинуть ее, сделать удаление по свайпу. У гугла где-то рекомендации есть.
Dmitrii
Парни, что он от меня хочет? Прогрессбар на месте
M
Покажи все
M
Вынеси то, что ты делаешь в onCreate в onStart
Dmitrii
Вынеси то, что ты делаешь в onCreate в onStart
Продублировать или убрать из onCreate?
M
А вообще код покажи и верстку)
Dmitrii
Dmitrii
Dmitrii
Dmitrii
А вообще код покажи и верстку)
Продублировал в onStart, все работает, странно все работало 2 ещё утром, в main я уже неделю не лазил...
M
Продублировал или переместил?
Dmitrii
Это наверное потому что на маке кодю, а не на убунте=)