Так что я использую Навигацию в своей основной деятельности моего приложения, и у меня есть фрагмент, который является моим начальным фрагментом навигации.
В этом фрагменте, после его создания, в моем докладчике я публикую тему в получить данные из сети. После получения данных я использую основной поток для отображения данных на экране.
При первом запуске приложения это работает нормально.
Однако, если пользователь открывает Ящик и снова выбирает ЭТОТ фрагмент, а не другой, фрагмент воссоздается заново, что означает, что он уничтожается и создается с нуля, так как компонент навигации предназначен для этого.
Однако на этот раз, когда мой докладчик публикует данные извлечения потока -thread, и это завершается и отправляет результаты в пользовательский интерфейс, метод isAdded () фрагмента возвращает false, а getActivity имеет значение null.
Имея это, я не могу использовать Контекст деятельности (getActivity ( ) имеет значение null или requireActivity () генерирует недопустимое исключение состояния) и, следовательно, я не могу загрузить изображения и т. д. c, поскольку у меня нет доступного контекста.
Я подчеркиваю, что это происходит, когда пользователь открывает ящик, пока этот фрагмент виден и выбирает снова, чтобы перейти к этому фрагменту из ящика. Если пользователь переходит к другому фрагменту и затем нажимает кнопку «Назад», все в порядке.
Есть идеи, как решить эту проблему?