Aleksey
https://t.me/android_ru/638467
а чем отличается «обзёрвабл от пустого листа» от просто пустого листа?)
Kopusha
ничем)
Mike
а чем отличается «обзёрвабл от пустого листа» от просто пустого листа?)
тем, что в обзёрвабл можно пушить изменения через единый интерфейс
Kopusha
в лист так же
Mike
в лист так же
на лист подписаться нельзя
--------
но подход мне нравится, эт я просто бухчу
Mike
так и у адаптера будет 1 метод - setData
ага, ViewModel(adapter::setData), удобненько)
Kopusha
просто два ортогональных подхода, оба рабочие
Val
подписос/отписос здесь — и все довольны
ну собственно они этим счетчиком и решили проблему которую решает лайвдата
Вячеслав
адаптер мне кажется не должен знать кто ему данные дает
Mike
не, adapter.setData
кто его вызовет?
Kopusha
фрагмент
--------
кто его вызовет?
в моем случае - презентер
Вячеслав
мы подписались на изменение листа, а когда изменения есть: viewModel.observable({adapter.setData})
Mike
в моем случае - презентер
А кто создаёт адаптер? Как он попадает в презентер? glue code
--------
точнее презентер вызывает метод вью, которая вызывает этот метод
Kopusha
вьюха создает адаптер, при обоих подходах
Вячеслав
это LiveData<List>
да, только в конструктор адаптера не за чем передавать что-то
Mike
точнее презентер вызывает метод вью, которая вызывает этот метод
ну, у меня есть занятия поинтереснее, чем на каждый экран писать бессмысленные однострочники
Kopusha
или что с лайвдатой меньше кода))
Вячеслав
ну, у меня есть занятия поинтереснее, чем на каждый экран писать бессмысленные однострочники
это не однострочники, а нормальный подход, а с конструктором в адаптере появляется зависимость не нужная
Mike
это не однострочники, а нормальный подход, а с конструктором в адаптере появляется зависимость не нужная
В смысле ненужная? А смысл адаптера без данных? Тест на него написать, что getItemCount() возвращает 0? :)
EKA 🐙
Привет. Сложно ли вообще сделать разметку, что бы был блок сверху и снизу (фикс размера), а по середине listView, и что при скроллинге llistView сворачивался верхниий блок (типа паралакс)
Вячеслав
В смысле ненужная? А смысл адаптера без данных? Тест на него написать, что getItemCount() возвращает 0? :)
а когда у тебя поменяется источник данных, ты будешь менять конструктор?
--------
В смысле ненужная? А смысл адаптера без данных? Тест на него написать, что getItemCount() возвращает 0? :)
в чем принципиальная разница, если у тебя Observable будет пустой, тоже самое получится, не?
Kopusha
гм, а вот еще вопрос. Если адаптер в переменной поля. Можно как-то извернуться лайфсайклом, чтоб он сам себя чистил в onDestroyView и не нужно было переопределять этот метод.
Mike
а когда у тебя поменяется источник данных, ты будешь менять конструктор?
нет, я поменяю реализацию, а конструктор принимает его по интерфейсу
Kopusha
в смысле чистил?
recyclerView.adapter = null
--------
выше сказал, в обзёрвабл можно пушить изменения
и в чем разница, пушить в Observable или setData()?
Mike
и в чем разница, пушить в Observable или setData()?
в дополнительном методе-прослойке между адаптером и вьюмоделью, который я не хочу
--------
в дополнительном методе-прослойке между адаптером и вьюмоделью, который я не хочу
а как ты работаешь с Observable без Rx? Не троллирую, реально интересно и не знаю
--------
https://github.com/Miha-x64/Lychee
смотрел - нихера не понял, сложно для меня
Alex Android
Слушайте, а если я в приложении буду использовать названия игр типа Fallout и названия навыков/предметов, изображения оттуда. Меня забанят?
--------
пример
блин, круто, но сложновато всё равно, но в целом вроде понял
Alex Android
Делаю не игру, но блокнот по нескольким играм, планирую добавить темплейты из готовых ролевых систем
--------
пример
https://github.com/Miha-x64/Lychee/blob/23eb435200c8bd44cd3f0f50af499cb94dac1c23/android-sample/src/main/kotlin/net/aquadc/propertiesSampleApp/MainActivity.kt#L31 вот это я так понимаю, твоя вьюмодель. Она универсальная для любого экрана?
--------
huh?
ну типа я нихера снова не понял) Твоя вьюмодель переживает поворот экрана, а где конфигурируется? Как туда всякие зависимости прокинуть и т.д
kt315
В VSCode commit по ctrl-enter не работает, никто не сталкивался? OS - linux
Mike
ну типа я нихера снова не понял) Твоя вьюмодель переживает поворот экрана, а где конфигурируется? Как туда всякие зависимости прокинуть и т.д
Здесь она создаётся прямо в активити. Есть ещё другой сэмпл в отдельной репе, там инжектор на основе ActivityLifecycleCallbacks.
--------
Здесь она создаётся прямо в активити. Есть ещё другой сэмпл в отдельной репе, там инжектор на основе ActivityLifecycleCallbacks.
дак я самого класса этой вьюмодели и не увидел, я вот о чем. Захочу я использовать, допустим, а как мне свои зависимости прокидывать?
Serhii
Хай. Кому то приходилось замерять память конкретного обьекта? **Что то кроме профайлера
kt315
Андроид студио не угодила?
да не, я не под андроид сейчас проект пишу, решил тут спросить просто
Flogiston
как с помощью Glide поставить background в ConstraintLayout?
Dug
А зачем это тебе так делать?
Flogiston
Што
не хочу добавлять ImageView для этого
Ivansuper
не хочу добавлять ImageView для этого
Ты ведь понимаешь что оно растянет наплевав на пропорции?
Hovhannes
Как в Пикассо
Ivansuper
Разве нет доп. метода для этого?
Я не видел в глайде таргетом бэкграунды именно
Ivansuper
Поправьте правда если это я такой забывчивый
Starikov
там надо вручную ставить вроде, через requestListener
Starikov
если же есть, и я ошибаюсь, то поделитесь решением
Kopusha
а для multitype recyclerview, делаете каждый раз ручками или написали свои базовые классы, чтоб он сам типы айтемов разруливал?
jenia
У кого есть готовое решение для реализации jwt и автоматического закпррса на обновление при 401? Retrofit
Kopusha
и как, элегантно получилось? Стоит того? Столько разных либ на эту тему, а с другой стороны не так уж много там писать... Может расшарите адаптер, для вдохновения. Вот такой нашел, из простеньких https://github.com/hkokocin/WidgetAdapter/tree/master/library