Dyno
Как из этого сделать свою библиотеку? И изменить кое что. Это сорцы на ViewPager2 https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-collection-release/viewpager2/
Dyno
Hovhannes
ты серьезно?
Hovhannes
https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-collection-release/viewpager2/src/main/java/androidx/viewpager2/widget/ViewPager2.java
Vitaly
ViewModel
Я использую NavigationComponent, которая сохраняет Graph только при пересоздании Activity через recreate()
Vitaly
Ну и ViewModel тут никак не поможет
Vitaly
Плюс использую MVP
Антон
А ,я понял , да не поможет
Dyno
И что теперь нельзя свою библиотеку сделать из тех сорцов?
Vitaly
И что теперь нельзя свою библиотеку сделать из тех сорцов?
Ну final class просто не даст тебе унаследовать этот класс А так впринципе ты можешь либо скопипастить код и делать с ним что угодно (в том числе и убрать final), а можешь Extension налепить используя эти сорцы
Dyno
Ну final class просто не даст тебе унаследовать этот класс А так впринципе ты можешь либо скопипастить код и делать с ним что угодно (в том числе и убрать final), а можешь Extension налепить используя эти сорцы
Что такое extention? Хочу чтобы FragmentStateAdapter не уничтожал фрагменты внутри вьюпейджера. Для этого надо переписать removeFragment метод. Он к сожалению private, поэтому только такой выход вижу
Vitaly
Что такое extention? Хочу чтобы FragmentStateAdapter не уничтожал фрагменты внутри вьюпейджера. Для этого надо переписать removeFragment метод. Он к сожалению private, поэтому только такой выход вижу
https://kotlinlang.org/docs/reference/extensions.html Если прогаешь не на Kotlin, то на Java можно сделать то же самое, но без сахара Эта фича языка позволяет "добавлять" свои функции к существующим классам
Vitaly
а переопределять private методы она позволит?))
Переопределить не позволит) Он же private С private полями может работать только рефлексия, иначе никак, но в сторону рефлексии даже не смотри (это очень плохо в твоём случае)
Dyno
Ну final class просто не даст тебе унаследовать этот класс А так впринципе ты можешь либо скопипастить код и делать с ним что угодно (в том числе и убрать final), а можешь Extension налепить используя эти сорцы
у меня вот какая-то ахинея творится. не получается так просто скопипастить. на этой странице можно скачать tag.gz, может его можно как-то превратить в библиотеку, чтобы импортировать её потом Андроид Студии?
Andrey
Выше в чатике был хейт констрейнт лейяута, и тут нахлынули вопрос: А что лучше? (нубас просто)
Vitaly
Видимо будет очень сложно, так как они используют бибилотеки androidx встроенные Я бы на твоём месте искал другой способ реализации твоей задачи
Dyno
Выше в чатике был хейт констрейнт лейяута, и тут нахлынули вопрос: А что лучше? (нубас просто)
я когда-то тестил все лайауты, самый быстрый оказался framelayout. но это не значит что он самый лучший. выбирай любой какой удобно, если начинаются проблемы с производительность, тогда уже смотри в сторону как бы констрейнты заменить на релатив, тот побыстрее будет
Dyno
Видимо будет очень сложно, так как они используют бибилотеки androidx встроенные Я бы на твоём месте искал другой способ реализации твоей задачи
свой вьюпейджер написать блин.. хз только как эту полосочку двигать и фрагменты свайпами менять :/
Vitaly
свой вьюпейджер написать блин.. хз только как эту полосочку двигать и фрагменты свайпами менять :/
Можешь попробовать RecyclerView заюзать с возможность долистывать View до конца
Vitaly
Там можно такое делать (не помню как)
Dyno
Никто не знает в чем может быть дело пропадет часть букв с фрагмента во вьюпейеджере, если заинфлейтить данные в момент, когда фрагмент не находится на экране. Я закоментил строку чтобы фрагменты не уничтожались, может поэтому? @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { //super.destroyItem(container, position, object); }
Чарльз
Привет обсирает. У меня простой вопрос, регионы не все отображаются с именами, вместо имён точки. Очень выбещивает
Чарльз
Кирилл
Кто-нибудь пользовался относительно новым LIstAdapter для RecyclerView? Как в нем получить кликнутый объект по позиции?
Чарльз
Мне нужно, чтобы вместо точек было имя региона
Чарльз
Постараюсь
Чарльз
Их там дохрена
Сергей
это как?
типа такого: https://vertex-academy.com/tutorials/ru/reflection-api-v-java-class-field/ см.пример 7. Но это медленно, несекюрно и не рекомендуется
Сергей
и да, это только поля позволяет менять, не final методы
Dyno
типа такого: https://vertex-academy.com/tutorials/ru/reflection-api-v-java-class-field/ см.пример 7. Но это медленно, несекюрно и не рекомендуется
в статье нет ничего про private методы, только private поля. а что можно изменить prive метод на public?
Сергей
в статье нет ничего про private методы, только private поля. а что можно изменить prive метод на public?
reflection java private method в гугле подскажет, но это изврат если ороигинальный код опенсоурс и его можно просто клонировать с гита, поменяв модификаторы
Сергей
и да, это позволит вызвать приватный метод, но не оверрайдить final
Dyno
reflection java private method в гугле подскажет, но это изврат если ороигинальный код опенсоурс и его можно просто клонировать с гита, поменяв модификаторы
ну в основном в гугле ответы как вызвать private метод. вызывать можно, но это мне не поможет, надо переписать его
Илья
Кто-нибудь плотно работал с графиками в Android ? Есть вопросы
Илья
Надо нарисовать график и вертикальную линию проходящую через центр графика. И в местах пересечения графика и линии выводить значения графика . Кто-нибудь знает как это сделать ? Должны быть какие-то либы
Илья
Пробовал, но возникли проблемы с отрисовкой линии
Илья
там либа ну оочень большая
Илья
и так разобраться сложно
Aleksey
Android SDK + Canvas
Dyno
Как отключить удаление фрагментов в новом ViewPager2? В гугле ниче нет. Обожаю новые библиотеки!
Добавил вот такую строчку, вроде помогло. mViewPager.setOffscreenPageLimit(7); Когда решение твоей проблемы заняло всего одну строчку, а ты потратил целый день 😂
Dyno
А ты понял, что она делает?
Сильно не разбирался. Главное не дестроит фрагменты вроде. И не режет текст, как у меня было с предыдущим решением
Ivansuper
Dug
Я всё таки посоветую тебе понять, что делает эта строчка и за что отвечает передаваемое значение в метод setOffscreenPageLimit
Ivansuper
Если код построен по правилам андроида, то тебе должно плевать быть на удаление или пересоздание фрагментов
Dyno
А ты уверен, что борьба за "не удаление" фрагментов была вообще верной?
Нет. Ну мне переифлейчивать не понимаю зачем. Я постоянно работаю со всеми фрагментами, инфлейчу / удаляю. Зачем каждый раз пересоздавать?
Ivansuper
Окей ....
Ivansuper
Я не твой родитель конечно, но мировоззрение на андроид у тебя немного не то
Dyno
Я не твой родитель конечно, но мировоззрение на андроид у тебя немного не то
Может я как-то неправильно делаю, но вот смотри, у меня есть активити, в ней 7 фрагментов. Я скачиваю данные из интернета, потом обрабатываю их для каждого фрагмента свои данные, их довольно много. Данные сетаю и храню в соответствующих фрагментах. Иначе я бы мог хранить в активити и динамически подставлять каждый раз, когда переключаюсь на нужный фрагмент? Или где и как хранить данные?
Ivansuper
Может я как-то неправильно делаю, но вот смотри, у меня есть активити, в ней 7 фрагментов. Я скачиваю данные из интернета, потом обрабатываю их для каждого фрагмента свои данные, их довольно много. Данные сетаю и храню в соответствующих фрагментах. Иначе я бы мог хранить в активити и динамически подставлять каждый раз, когда переключаюсь на нужный фрагмент? Или где и как хранить данные?
Ты можешь завести просто один класс отдельный если тебе лень в архитектуру, и класть скачанные данные туда. Все фрагменты будут иметь доступ к готовым данным. Хранить данные в активити и фрагментах это самоубийство в андроиде. К сожалению вся система построена вокруг пересоздания элементов интерфейса
Ivansuper
Если будешь везде пытаться бороться с этими пересозданиями - я тебе не завидую
Ivansuper
Может ты еще и байтовые типы использовать будешь везде если число вдруг не превышает значения в пару сотен вместо int? Инфлейт работает достаточно быстро. Если ты не нагромоздил разметку и не делаешь в методах onCreateView никакой дичи, то ничего тормозить не будет
Ivansuper
Ладно, я спать ушел. А ты помни две вещи: у тебя неправильное восприятие именно этой ос, и у тебя паранойа по тем вещам где проблем нет если самому говна туда не влить
Ivansuper
Более менее что то функциональное все равно тремя строчками не сделать даже в котлине. Так что не ленись
Dug
Нет, это new View()
Юрий
Так каждый раз на переинфлейчивание тратятся ресурсы, если что-то большое отправлять, так вообще будут фризы.
А так получается ещё больше ресурсов, к тому же при старте будут не малые фризы на обработку всех фрагментов
Maksym
Народ ,всем привет. Когда делаешь приложение - виджет, к нему рекламу можно подключить?
Max
как определить что ресайклер прокручен вниз, или допустим, определить что виден самый нижний итем
Евгений
RecyclerView.getLayoutManager().lastCompletelyVisibleItemPosition()== (data.size-1)
Igor
Ребят кто юзал GraphQL можете рассказать о минусах?