Puk
Получается единственный варант запускать скан опять?
Ленар
Когда девайс отдаляется или наоборот приближается
Рсси формируется мобилкой когда она его видит или когда общается с ним
Ленар
Девайс не формирует рсси
Mikhail
Вопрос про сериализацию JSON ответа. Дело в том, что ответ приходит виде списка (нужных объектов) но без какого-либо заголовка: [ { "id": 1, "name": "Pilot", … "created": "2017-11-10T12:56:33.798Z" }, { "id": 2, "name": "Lawnmower Dog", … "created": "2017-11-10T12:56:33.916Z" }, { "id": 3, "name": "Anatomy Park", "air_date": "December 16, 2013", … "created": "2017-11-10T12:56:34.022Z" } ] Какая структура должна быть у @Serializable data class-а ? PS вставить внутрь один List<ObjectName> c пустой строкой в аннотации @SerialName("") не помогло. PPS error : “kotlinx.serialization.json.JsonDecodingException: Invalid JSON at 0: Expected '{, kind: CLASS'…”
Dmytro
Кто работал с shared element transaction + navigation component. Анимацию при открытии деталей со списка сделал, а вот назад экран резко закрывается, а не утекает обратно в айтем ресайклера. Есть идеи?
Dmytro
Там есть специальный метод
если можно, чуть конкретнее. Там у кого? у навигейшн компонента или у кого?
Dmytro
хм, попробую туда мув, запихнуть, спс
Dmytro
у тебя это работает? или ты просто метод подсказал, что он есть?
⁣
хм, попробую туда мув, запихнуть, спс
Я какой-то метод использовал и у меня работало) Думал, эта наводка тебе поможет.
Mikhail
Кто работал с shared element transaction + navigation component. Анимацию при открытии деталей со списка сделал, а вот назад экран резко закрывается, а не утекает обратно в айтем ресайклера. Есть идеи?
1) расширь фрагмент fun Fragment.waitForTransition(targetView: View) { postponeEnterTransition() targetView.doOnPreDraw { startPostponedEnterTransition() } } 2) В override fun onViewCreated(…){ … waitForTransition(RecyclerViewName )
Anton
Вижу часто в библиотеках такой способ включения debug adb shell setprop debug.firebase.analytics.app package_name Но вопрос как они потом в коде получают то что установлено через setprop  ?
Puk
Рсси формируется мобилкой когда она его видит или когда общается с ним
я понимаю, просто задача стоит в том, чтоб сделать поиск конкретного девайса с выводом rssi
Ленар
я понимаю, просто задача стоит в том, чтоб сделать поиск конкретного девайса с выводом rssi
на чистом андроиде не подскажу, тут ребята подскажут на флаттере сложностей по идее нет
Vadim
Кто использует MVVM может мне ответить на вопросик?
Vadim
я в холдере использую ViewModel чтобы связать её с databinding и получается что я эту же модель должен создавать после во фрагменте?
Maxim
Добрый день! Почему NestedScrollView отказывается работать с FrameLayout, внутри которого находится RecyclerView?
Dug
Потому что надо разрешить nested скролинг, насколько я помню
Mike
Добрый день! Почему NestedScrollView отказывается работать с FrameLayout, внутри которого находится RecyclerView?
А как ты хочешь, чтобы работал ресайклер в скроллвью? (я уже хочу, чтобы он бросал исключение: «АААааААаа, я в скроллвью, убейте меня кто-нибудь!»)
Maxim
Ну NestedScrollView это вроде бы вложенная прокрутка, нет? )
Ivansuper
Вложенные скроллы по одинаковой оси это плохой дизайн интерфейса имхо
Никита 🙃
А как в чартах реализована ось Y? Т.е. есть сет данных, например: [1023, 703, 123, 930] Чарты на основании сета разбивают ось Y на округлые значения, например: [1200, 1000, 800, 600, 400, 200, 0] Но при этом оно так динамически красиво считает: [1, 0.5, 2, 3, 2.5] превратится в, условные [5, 4, 3, 2, 1, 0] Смотрел сорцы, но как-то так странно там сделано, ничего не понял 😅😅
Line'R
Есть у кого идеи как реализовать такое не используя coordinator layout и collapsing tab layout. А используя кастомнвй вьюгруп?
Line'R
Не спрашивайте зачем)
Андрей
взять и реализовать
Valeriy
Кто знает, нормально ли в бд держаться id ресурса градиента? Не знаю просто как это можно обойти, но боюсь так могут быть проблемы
Valeriy
id ресурсов запросто при следующем билде перегенериться могут.
А как это обойти? У меня допустим есть 10 градиентов в xml, у каждой модели есть один градиент на выбор из этих 10, как можно запомнить в бд выбор?
Valeriy
Сделать свои айдишники, например, собрать все допустимые айди в массив и хранить позицию.
А есть более правильный вариант собрать все айди в одном массиве ? Раньше делал так , но при каждом добавлении приходилось бы изменять
Valeriy
Евгений
ExoPlayer simplePlayer.prepare(HlsMediaSource.Factory(DefaultHttpDataSourceFactory( "live-tv_streaming")).createMediaSource(Uri.parse(urls[0].url))) запускаю ссылку с timeshift видео идет через некоторое время запускаю ссылку с этим же самым timeshift, но видео начинается не с начала. Я так понял экзо как то где то кэширует стримовые видео и синхронизирует просмотр, подскажите, как этого избежать?
Mike
А есть более правильный вариант собрать все айди в одном массиве ? Раньше делал так , но при каждом добавлении приходилось бы изменять
если это действительно проблема, я бы выкинул ресурсы и создал градиенты из кода. Более того, хранить можно не номер градиента, а все данные, необходимые для его построения
Danile
подскажите, плиз, может невнимательно делал или что то упустил кастомная вьюха не инфлейтится Caused by: android.view.InflateException: Binary XML file в самом классе вью сделал три конструктора constructor(context: Context) : super(context) constructor(context: Context, attrs: AttributeSet) : super(context, attrs) constructor(context: Context, attrs: AttributeSet, defStyle: Int) : super(context, attrs, defStyle) в xml <com.host.appname.customview.CustomView android:layout_width="match_parent" android:layout_height="match_parent"> </com.host.appname.customview.CustomView> ну и во фрагменте в онкриейтвью return inflater.inflate(R.layout.fragment, container, false)
iamthevoid
Все мы знаем, что в студии есть замечательные scratches. А кто нибудь знает как над json scratch выполнить селектор? Это вообще возможно?
Danile
а cause?
Error inflating class
Mike
Error inflating class
слишком обрывочно
iamthevoid
ммм, открыть терминал и скормить джейсонину утилите jq
jq да, но хочется в студии. Валидатор для регекса же есть ) Ок, понял
Mike
jq да, но хочется в студии. Валидатор для регекса же есть ) Ок, понял
нуу, я вовсе не утверждаю, что нельзя) просто предложил альтернативу например, я не умею интерактивный ребейз в студии, а он там, говорят, есть
Danile
слишком обрывочно
android.view.InflateException: Binary XML file line #17 in com.host.app:layout/fragment: Binary XML file line #17 in com.host.app:layout/fragment: Error inflating class com.host.app.customview.CustomView Caused by: android.view.InflateException: Binary XML file line #17 in com.host.app:layout/fragment: Error inflating class com.host.app.customview.CustomView Caused by: java.lang.reflect.InvocationTargetException
Danile
ДАЛЬШЕ. InvocationTargetException caused by ...
а та я разобрался, спасибо), какая то голова не свежая, нужно было ещё раз ВЧИТАТЬСЯ в логи
Line'R
Может быть, через MotionLayout что-то получится? 🤔
А что в androidx нету Motion? Что то не нахожу
Line'R
Mike
Сделать аля свой координатор?
Зачем делать свой? Бери готовый, он уже сделан.
Mike
@morozovvadim91, хочешь спросить — спрашивай
Vadim
и конкретный вопрос я тоже задавал) думал может кто появился новый в чате) делаю MVVM и у меня сейчас получается что 2 ViewModel Один я связываю с data binding и использую поля в xml а второй использую для отображения всего списка и по идее, у меня должен быть 1 ViewModel но не уверен что их надо объединять. щас код закину в гист, может будет наглядней
Vadim
https://gist.github.com/mnewlive/41da1828713e9a37e5d36036ccb607da
Vadim
там кода не особо много речь идёт именно о AboutListItemViewModel и AboutViewModel стоит ли их объединять
Кирилл
У меня есть апи для приложения но на него можно стучаться с браузера. Как его можно закрыть только для телефонов?
MarSeliN
есть такая вот розметка, сейчас размер картинок задан 70дп-70дп, как сделать их размер адаптивным? может есть какой то параметр для колонок типа weight или что бы контент не выходил за размеры гридЛейаута
MarSeliN
disco
Всем привет. Извиняюсь что фоткой, просто по другому никак. Почему папки перестали группироваться?
disco
Спасибо)
Victor
ой, не, пардон, flatten packages
disco
Да, уже нашёл)
Ruslan
и тишина...) эх ..)
я когда увидел сообщения про то, где должен быть клик лиснер видимо не понял суть вопроса. 1. зачем передавать clickListener во вьюмодель через фабрику и конструктор, если он потом сетится в адаптер того же фрагмента и никак не используется во вьюмодели? и вообще так делать - не тру джедайский путь. ничего не поменялось, создавать у вьюмодели метод fun onListItemClick(clickedItem: SomeItem) и лиснер во фрагменте будет примерно такой val listener: (SomeItem) -> Unit = { viewModel.onListItemClick(it) } его уже передавать в адаптер, а в адаптере уже при байндинге холдера сетить ему View.OnClickListener { listener(someItem) }. а чтобы не создавать экземпляр этого лиснера при каждом байнде можно этот лиснер передавать в конструктор холдера и сетить его на нужную вьюху в блоке init. Но при этом придется завести переменную, в которой будет храниться элемент списка и сетить его при байндинге. 2) геттеров у вьюмодели не должно быть, как и у вьюхи. гуглить по запросу unidirectional data flow android
Vadim
я когда увидел сообщения про то, где должен быть клик лиснер видимо не понял суть вопроса. 1. зачем передавать clickListener во вьюмодель через фабрику и конструктор, если он потом сетится в адаптер того же фрагмента и никак не используется во вьюмодели? и вообще так делать - не тру джедайский путь. ничего не поменялось, создавать у вьюмодели метод fun onListItemClick(clickedItem: SomeItem) и лиснер во фрагменте будет примерно такой val listener: (SomeItem) -> Unit = { viewModel.onListItemClick(it) } его уже передавать в адаптер, а в адаптере уже при байндинге холдера сетить ему View.OnClickListener { listener(someItem) }. а чтобы не создавать экземпляр этого лиснера при каждом байнде можно этот лиснер передавать в конструктор холдера и сетить его на нужную вьюху в блоке init. Но при этом придется завести переменную, в которой будет храниться элемент списка и сетить его при байндинге. 2) геттеров у вьюмодели не должно быть, как и у вьюхи. гуглить по запросу unidirectional data flow android
Насчёт первого пункта я пересмотрю, но насчёт второго если честно не понял замечания то есть как я понял AboutListItemViewModel быть вообще не должно? я же получаются из xml ссылаюсь так раз таки на эти значения.
Ruslan
Насчёт первого пункта я пересмотрю, но насчёт второго если честно не понял замечания то есть как я понял AboutListItemViewModel быть вообще не должно? я же получаются из xml ссылаюсь так раз таки на эти значения.
согласен, геттеры должны быть. но они должны возвращать не значения, а какой-то обзервабл. LiveData или из рх. суть в том, что вью модель хранит стейт и вьюмодель изменяет его. в вью на эти изменения подписывается. а если вью просто надо прочитать значения один раз это ок, но в более сложных случаях начнется хаос и боль.
Ruslan
так, стоп. какая-то лажа с неймингом. я думал мы про ViewModel'и говорим) а тут простые модельки названы с суффиксом ViewModel)
Vadim
+ нейминг запутал
AboutListItemViewModel по идее так и должен остаться, я про нэйминг сейчас да и AboutViewModel тоже вроде как логично назвал, это же основная viewModel которую использую во фрагменте
Vadim
+ нейминг запутал
и кстати SettingsViewModel это простой data class