Tsudzukeru
@Tsudzukeru

Почему fragmentmanager разрушается после изменения конфигурации?

Есть фрагмент, который крепится к Activuty следующим образом.

override fun onAttach(context: Context) {
        super.onAttach(context)
        try{
            activityContract = context as IActivity
        }catch (e:ClassCastException){
            throw ClassCastException(context.toString() + "Активити должна реализовывать интерфейс IActivityView")
        }
    }


IActivity - интерфейс, который реализует моя активити. В нем лежат методы управления элементом Progress Bar и метод создания ErrorDialogFragment.
По ссылке activityContract вызываю методы Activity. Они все работают, но после поворота экрана в одном методе который использует FragmentManager выбрасывается исключение:
illegalstateexception: fragmentmanager has been destroyed


Не понимаю почему это происходит... В методе onCreate() у Activity() fragmentManager инициализируется.
lateinit var fragmentManager:FragmentManager
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_search)
        fragmentManager = supportFragmentManager
}
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
Tsudzukeru
@Tsudzukeru Автор вопроса
Проблема возникала из-за того, что я не отвязывал фрагмент от Activity при изменении конфигурации экрана.
В методе фрагмента onDestroy() нужно обнулять ссылку на Activity.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
G1 Software Нур-Султан (Астана)
До 140 000 ₽
КАУС Москва
от 180 000 до 200 000 ₽
24 окт. 2020, в 13:21
12000 руб./за проект
24 окт. 2020, в 12:03
1 руб./за проект
24 окт. 2020, в 11:52
90000 руб./за проект