Vadim
как видите по нажатию на Contact Support заголовок More всё таки отображается а вместе с ним и Intent
Дмитрий
коллеги, добрый день. столкнулся с такой проблемой. есть ViewPager с несколькими фрагментами, в одном из которых (ProfileFragment) есть ViewPager. так вот после пересоздания фрагмента ProfileFragment, в ViewPager (который в ProfileFragment) не отображаются фрагменты (калбэки жизненного цикла не отрабатывают). кто нибудь сталкивался с такой проблемой?
Dj
nohello.com
Alexey
Т.е. у тебя когда диалог этот вылезает вью с фрагмента исчезает?
Anonymous
@JohnnySC Тестил Layout Edit Констраинов?)
Vadim
Т.е. у тебя когда диалог этот вылезает вью с фрагмента исчезает?
именно но при всё при этом заголовок More остаётся)
Alexey
именно но при всё при этом заголовок More остаётся)
проблема тогда не в том коде что ты показываешь
Vadim
Т.е. у тебя когда диалог этот вылезает вью с фрагмента исчезает?
да но у меня отображение всех элементов в onViewCreated
Alexey
да но у меня отображение всех элементов в onViewCreated
где-то есть удаление всех элементов) либо это новый фрагмент поверх накладывается
Дмитрий
а как колбеки устанавливаешь? через активити или setTargetFragment?
не совсем понял о чем речь. в обычном случае всё происходит само
The The
в консоле пишут что используется устаревшее апи. но все либы последние и стеки ведут во внутр. либы гугла. это как фиксить вообще
Дмитрий
речь как раз о том, что ViewPager находящийся внутри фрагмента (который добавлен в ViewPager) перестает отображать UI после пересоздания
Mike
нет же
Ты же про пересоздание процесса? Менеджер уже создаёт фрагмент со старым тегом, а ты дершить другой
Andrey
Ты же про пересоздание процесса? Менеджер уже создаёт фрагмент со старым тегом, а ты дершить другой
attach я уже сегодня только добавил. считай, что его нет. я думал он поможет. не помогает
Andrey
Ты же про пересоздание процесса? Менеджер уже создаёт фрагмент со старым тегом, а ты дершить другой
я проверяю, что по кнопке проверяется по тегу, есть ли данный фрагмент этой кнопки в менеджере, если нет, я его добавляю. если он уже есть - то далее просто активный фрагмент исчезаю(hide), а фрагмент нажатой кнопки показываю(show)
Andrey
тот же самый
Andrey
ссылается на тот же изначальный фрагмент
Andrey
в чем проблема то?
Ruslan
сам создает
а пересоздание происходит при повороте экрана?
Mike
ссылается на тот же изначальный фрагмент
Да с чего ты решил? Как такое может быть?
Andrey
фрагмент это поле класса. он не меняется. он даже final зачем-то
Andrey
final Fragment fragmentCategory = CategoryFragment.newInstance(true);
Andrey
я имею дело в тем, что я имею, я не сам это придумал
Mike
фрагмент это поле класса. он не меняется. он даже final зачем-то
Менеджер. Пересоздаёт. Фрагменты. Он ничего не знает про твоё финальное поле.
Andrey
Менеджер. Пересоздаёт. Фрагменты. Он ничего не знает про твоё финальное поле.
смотри, 1. однажды он добавляет в себя фрагменты. 2. эти фрагменты сразы переходят в .hide, а первый дефолтный в .show 3. по нажатию на меню боттом старый фрагмент прячется, новый показывается. НЕ ДОБАВЛЯЕТСЯ, ПОТОМУ ЧТО ОН УЖЕ ТАМ ЕСТЬ!
Andrey
что я не понимаю?
Andrey
пересоздает он при replace, нет?
Andrey
а тут hide и show, у фрагментов даже жизненный цикл не отрабатывает во время этих hide и show
Дмитрий
а пересоздание происходит при повороте экрана?
ViewPager сам пересоздает UI фрагмента при переходах
Mike
ну да
ну вот, «восстанавливает» == создаёт новые экземпляры и суёт им стейт и аргументы
Andrey
ну вот, «восстанавливает» == создаёт новые экземпляры и суёт им стейт и аргументы
понял, я думал ты имел ввиду когда я переключаю их по боттому
Dj
ViewPager сам пересоздает UI фрагмента при переходах
А сколько внутри ViewPager фрагментов?
Dj
3
А адаптер какой используется?
Andrey
ну вот, «восстанавливает» == создаёт новые экземпляры и суёт им стейт и аргументы
то есть, если я буду получать фрагменты из менеджера по тегу и исчезать их и удалять - то будет работать?
Дмитрий
Alexey
final Fragment fragmentCategory = CategoryFragment.newInstance(true);
кстати опасно, при повороте в поле может быть один фрагмент, а в стеке другой
Andrey
я уберу эти final
Alexey
дело не в финал
Alexey
а в жц
Andrey
нет, там все норм
Andrey
не падает по крайней мере
Alexey
падать не будет, но будешь обращаться к полю, а реальный фрагмент - другой объект
Andrey
Должно, да. Фрагменты самому лучше вообще не хранить.
ок, кажется я понял. так то очевидно. можно было догадаться(
Dj
FragmentStatePagerAdapter
И ты хочешь чтоб UI фрагментов не пересоздавался при переходе фрагментов?
Дмитрий
И ты хочешь чтоб UI фрагментов не пересоздавался при переходе фрагментов?
фрагмент который пересоздает UI содержит ViewPager, так вот после пересоздания UI внутренний ViewPager становится пустым
Дмитрий
Наверное adapter неправильно инциализируется в ViewPager, покажи плиз код
анко компонент. ваызывается метод createView при калбеке onCreateView фрагмента
Dj
анко компонент. ваызывается метод createView при калбеке onCreateView фрагмента
Попробуй создавать ViewPagerAdapter прямо внутри viewPager { adapter = ViewPagerAdapter (...)} и убери его из объекта MyProfileUIComponent
Сергей
Всем привет, короткий вопрос, актуальна ли сейчас MVP архитектура или сейчас в тренде другое, например Clean?
Andrey
либо mvp либо mvvm
Mike
@chineseSamurai промахнулся?
Сергей
Спасибо, я просто про CA не читал, освоил MVP с DI и задумался, а актуально ли оно
Дмитрий
Попробуй создавать ViewPagerAdapter прямо внутри viewPager { adapter = ViewPagerAdapter (...)} и убери его из объекта MyProfileUIComponent
да. пробовал так. результата нет. ViewPager каждый раз получает новый адаптер. но при этом остается пустым. т.е. ни один фрагмент в него не добавляется после пересоздания UI
Andrey
Спасибо, я просто про CA не читал, освоил MVP с DI и задумался, а актуально ли оно
можешь попробовать mvvm, полезно знать, но мне оно не нравится. хотя я щас новый проект на нем начал
Дмитрий
А в каком месте ты добавляешь фрагменты в adapter?
при создании адаптера в компоненте передается список имен фрагментов и Fragment.instantiate(context, "") в адаптере их уже создает
🌿🌿
ребз привет. кто знает как включить поддержку webgl1 в webview? валится ошибка ContextResult::kFatalFailure: WebGL1 blacklisted