руками?
а бэкстек тоже нужен? Я для этого готовой библиотекой пользовался
как я понимаю нет, три кнопки внизу для переключения фрагментов, но на одном будут графики и не хотелось бы что бы они пропадали когда уходит пользователь на соседний фрагмент
тогда должно быть несложно самому сохранить стейт (или даже экземпляр отцепленного фрагмента)
В общем эдиттекст пустой вернул com.google.android.material.textfield.TextInputEditText и кучу прочей статы. По идее если я просто буду проверять есть ли конкретно эта строчка(com.google.android.material.textfield.TextInputEditText) в строке, то все будет ок?
Да, руками Допустим у тебя есть BottomTabsFragment (там bottomnavigationview). Делаешь на каждый таб отдельный фрашмент TabFragment. Там будет хранится стейт
ты вызвал toString вместо getText
Используй show/hide
я в фрагменте хосте создал массив из 3 используемых фрагментов и только их дергаю
у меня просто в глазах плывет так как весь день работал по дому и ебался с okhttp
поясните насчёт фрашмента,я не знаком с таким
а, вот отличный вариант, пусть менеджер фрагментов этим занимается
тогда можно вообще при старте хоста положить три фрагмента в бэкстэк и уже в bottomNavigation.setOnNavigationItemSelectedListener делать hide/show.я правильно понял?
Да, но я бы так не делал, чтобы не загружать процессор и не дергать лишние методы. Я бы добавлял фрагменты по мере необходимости.
В таком случае при нажатии на каждый тап придется проверять есть ли фрагмент в стеке.это не загружает процессор аналогичное?
Не, ты всего лишь получишь из fragment manager объект по tag'у. В случае если ты будешь сразу создавать все фрагменты ты будешь создавать сразу много объектов, выделяя под них память (fragment + presenter + interactor + repository для каждого экрана), а потом для заполнения контентом будешь дергать методы с сети или из БД
Спасибо за объяснения
в бэкстек не надо
Можно сделать через первый/второй viewpager (Я бы выбрал первый). Он сам позаботится о сохранении состояния фрагментов. Можно подтянуть либу, например Cicerony
Работал я как-то с этим, такой ад. Никому не советую
блин у меня был метод changeFragmentWithoutRecreation, помню гуглил просто ради интереса if bottomnavigationview loads fragments lazily and recreates them when switching
При пересоздании активити будет утечка. (как минимум раньше была бы). Сделай поиск старых фрагментов в менеджере по тегу и после этого создание
пока что думаю через hide/show попробовать сделать
а в чём ад заключался?я вот пока думаю о том,что надо ведь hide-ть остальные фрагменты, которые не show
Баги. Если решишь делать через это то дам пару советов: Сохраняй нажатую позицию нижней навигации чтобы не было что после пересоздания нажат первый фрагмент а отображается например третий Если столкнешься с прозрачным фоном последнего видимого фрагмента после пересоздании активити, ставь всем фрагментам заданный цвет фона
понял,спасибо
Я бы сделал через viewpager и не заморачивался
в навигации иконки красивее выглядят.но я подумаю об этом
Через Cicerone будут костыли. Там нет поддержки табов
Ничего не мешает совместить нижнюю навигацию с вьюпейджером. Просто блокнуть ему ручной свайп фрагментов и свайпать по кнопкам
Я всю навигацию построил на этом В чем были сложности?
/
Понял Это скорее особенности android, чем баги Но к сожалению альтернатив add, show, hide нету
я правильно понимаю,что когда делаю show одного,то надо делать hide остальных фрагментов?
Зависит от кейса. Может у тебя надо сразу два одновременно отображать в одном окне. В кейсе нижней навигации, да
Попробовал вью пейджер.удобнее в плане сохранения стейта и вообще легко всё.но тут надо будет намудрить я так понимаю если хочется в табы всякие svg запихать и ТД.посидеть над стилями?
Обсуждают сегодня