Постоянство состояния пользовательского интерфейса в обратных вызовах жизненного цикла - PullRequest
0 голосов
/ 13 февраля 2019

Для проекта, над которым я работаю, у меня возникла проблема с поддержанием состояния представления фрагмента, когда пользователь использует приложение.

Для определенного фрагмента у меня есть pagerAdapter, который заполняет его основное содержимое.Имея дело с изменениями состояния, я написал метод, который будет определять, следует ли повторно инициализировать pagerAdapter при каждом вызове onResume, основываясь на том, является ли адаптер пустым, отличается ли состояние приложения от состояния адаптера или ориентация фрагментаизменилось.

        if (allowedAdapterReload()){
            adapter = setAdapter();
            viewPager.setAdapter(adapter);

            updateButtonUI();
        }

Ожидаемое поведение: если приложение является фоновым или пользователь покидает текущий фрагмент, чтобы перейти к другому фрагменту в приложении, состояние пользовательского интерфейса будет сохраняться при его возврате.Я могу достичь первой цели, но если я ухожу в другое представление в приложении (другой фрагмент в том же упражнении) и возвращаюсь, я обнаруживаю, что у фрагмента нет содержимого, с которым я его оставил (содержимое, за которое отвечает адаптер, не отображается).Даже установка связанного макета в видимый после факта ничего не делает.Меня немного смущает вопрос, почему мое приложение поддерживает свое состояние на заднем плане / переднем плане, но не в том случае, если я перехожу в другое окно и возвращаюсь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...