Скрыть вид внутри фрагмента перед вызовом метода onAttach () - PullRequest
0 голосов
/ 10 января 2020

Я хочу скрыть вид внутри моего фрагмента, когда метод onAttach() не вызывается. Я знаю, что представление не будет скрыто до этого метода, но я хочу знать, есть ли способ понять это?

Чтобы быть более точным c, моя проблема в том, что я хочу скрыть некоторые виды во фрагменте (B), когда я нахожусь в другом фрагменте (A) и после onAttach() метода, вызываемого во фрагменте B, виды должны быть скрыты.

Ответы [ 3 ]

0 голосов
/ 10 января 2020

Установите видимость пропавшим / невидимым из файла xml и, когда вам нужно показать это, затем программно установите видимость видимым.

0 голосов
/ 10 января 2020

Я решаю свою проблему. Прежде всего, следует отметить, что фрагменты используются в FragmentStatePagerAdapter, и я не уверен, что это правильно или нет, но мой фрагмент называется следующим образом

companion object {

    internal var addressQFragment = AddressQFragment()

    fun newInstance(): AddressQFragment {
        return addressQFragment
    }
}

Итак, все мои переменные можно изменить до вызова функции onAttach(). Используя это, я сначала изменил свой флаг, и когда представление будет создано, оно будет работать с этим флагом и скрывать необходимые представления. Если есть более правильный путь, я жду ваших ответов.

0 голосов
/ 10 января 2020

Вы можете go через жизненный цикл Фрагмента в официальном до c https://developer.android.com/guide/components/fragments. Представления фрагмента рисуются первыми в жизненном цикле onCreateView(), т.е. после onAttach(), вы можете инициализировать представление и установить его как невидимое. Поэтому, когда ваш фрагмент B будет загружен, пользователь не сможет увидеть эти виды, и он будет скрыт.

...