Size: a a a

Android Developers

2021 January 29

SG

Sergey Grieg in Android Developers
Илья
у меня тут тоже вопрос был про холдер перерисовку и свайп назад, не поможете?
Озвучивай, постараюсь
источник

L

Lessej in Android Developers
Sergey Grieg
А-ля:

data class Item(
   val _title: MutableLiveData<String>() = MutableLiveData(),
   val title: LiveData<String>
       get() = _title
)

// items in the recycler

val items: ArrayList<Item> = arrayListOf()

далее стандартно — при создании view holder через DataBindingUtils подтягиваем layout, отдаём binding.root, запоминаем binding, binding’у даём lifecycleOwner от view

В обработке клика забираем наш биндинг и постим новое значение в нужное поле, обновляется конкретный элемент списка (точнее mutable-значение) — data binding дальше все должен сделать сам
Это звучит очень круто👍 жаль я ничего не понял
источник

И

Илья in Android Developers
Илья
Коллеги, можете помочь с свайпХелпером? Сделал кастомный сабж, когда его частично сдвигаешь за ним кнопки. Если тапнуть на открытый свайп все ок, он плавно возвращается назад. Но если нажать на кнопку или начать дальше скролить единчтвенный вариант вернуть назад холдер это через notifyItemChange(). Суть проблемы - таким образом она назад возвращается с мерцанием. Перепробовал все возможное что смог найти на СО но безуспешно. Код примерно как из 1 ответа
источник

MR

Max Railian in Android Developers
Sergey Grieg
Ресайклер не запоминает набор данных, он рисует постфактум
А я говорил что он его запоминает?)
источник

И

Илья in Android Developers
Коллеги, можете помочь с свайпХелпером? Сделал кастомный сабж, когда его частично сдвигаешь за ним кнопки. Если тапнуть на открытый свайп все ок, он плавно возвращается назад. Но если нажать на кнопку или начать дальше скролить единчтвенный вариант вернуть назад холдер это через notifyItemChange(). Суть проблемы - таким образом она назад возвращается с мерцанием. Перепробовал все возможное что смог найти на СО но безуспешно. Код примерно как из 1 ответа
источник

SG

Sergey Grieg in Android Developers
Илья
Коллеги, можете помочь с свайпХелпером? Сделал кастомный сабж, когда его частично сдвигаешь за ним кнопки. Если тапнуть на открытый свайп все ок, он плавно возвращается назад. Но если нажать на кнопку или начать дальше скролить единчтвенный вариант вернуть назад холдер это через notifyItemChange(). Суть проблемы - таким образом она назад возвращается с мерцанием. Перепробовал все возможное что смог найти на СО но безуспешно. Код примерно как из 1 ответа
А зачем ты дёргаешь notifyItemChange?
источник

И

Илья in Android Developers
Я незнаю как по другому сделать, согласен что там нотифаить незачем
источник

SG

Sergey Grieg in Android Developers
Илья
Я незнаю как по другому сделать, согласен что там нотифаить незачем
“Сообщает всем зарегистрированным наблюдателям, что item на данной позиции был изменён с необязательным объектом полезной нагрузки.”
источник

SG

Sergey Grieg in Android Developers
А у тебя просто показ/отображение view
источник

L

Lessej in Android Developers
Max Railian
Вы когда адаптер перезаписываете у вас все сбрасывается
Вам нужно обновить список в адаптере и вызвать один из методов notify... в зависимости от ваших нужд
действительно а разве любой нотифай не перезагрузит также весь ресайкл?🤔
источник

СП

Сергей П. in Android Developers
Lessej
действительно а разве любой нотифай не перезагрузит также весь ресайкл?🤔
Notify all только
источник

SG

Sergey Grieg in Android Developers
Кстати, у кого там трабла с обновлением данных — самый простой пример об изменении элемента на конкретной позиции notfiItemChanged() (но не оч рекомендую)
источник

SG

Sergey Grieg in Android Developers
Илья
Я незнаю как по другому сделать, согласен что там нотифаить незачем
Вешаешь на onClickпо кнопке скрытие самих кнопок и всё
источник

СП

Сергей П. in Android Developers
Но вообще если юзкейс позволяет (в плане того что съедет позиция, экран дернется) - надо нотифай олл лучше делать все. Остальное глюкавое
источник

SG

Sergey Grieg in Android Developers
Сергей П.
Но вообще если юзкейс позволяет (в плане того что съедет позиция, экран дернется) - надо нотифай олл лучше делать все. Остальное глюкавое
Для точечного апдейта observable поля в структуре данных, как я и посоветовал выше)
источник

И

Илья in Android Developers
Типа все что в онЧилдДроу было нарисовано обнулить и она сама назад норм поедет?
источник

L

Lessej in Android Developers
Сергей П.
Но вообще если юзкейс позволяет (в плане того что съедет позиция, экран дернется) - надо нотифай олл лучше делать все. Остальное глюкавое
единственная проблема в том что экран возвращается в начало ресайкла, когда обновляется инфа в айтеме.
источник

L

Lessej in Android Developers
Sergey Grieg
Кстати, у кого там трабла с обновлением данных — самый простой пример об изменении элемента на конкретной позиции notfiItemChanged() (но не оч рекомендую)
А в этом случае экран не будет возвращаться?
источник

SG

Sergey Grieg in Android Developers
Lessej
А в этом случае экран не будет возвращаться?
Это не происходит при типах, поддерживающих обобщенные типы в качестве аргументов типов
источник

L

Lessej in Android Developers
например..
источник