Удаленный фрагмент все еще существует в диспетчере фрагментов - PullRequest
0 голосов
/ 07 марта 2019

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

Фрагмент добавлен так:

CustomFragment fragment = new CustomFragment();

fragmentManager.beginTransaction().replace(R.id.fragment_container, fragment, "fragment_tag").commit();

Он не добавленк backstack.

Затем он удаляется так:

Fragment fragmentToRemove = fragmentManager.findFragmentByTag("fragment_tag");
if (fragmentToRemove != null) {
    fragmentManager.beginTransaction().remove(fragmentToRemove).commit();
}

Чтобы убедиться, что я проверяю:

fragmentManager.getFragments() -> empty
fragmentManager.getBackStackEntryCount() -> 0

Кажется, хорошо и денди, верно?Но когда я тогда звоню:

fragmentManager.findFragmentByTag("fragment_tag");

, я все равно нахожу тот же фрагмент с тем же идентификатором, который я только что удалил.Что дает?Я потерял счет всех вещей, которые я пробовал, достаточно сказать, что такие очевидные вещи, как popBackStackImmediate () и commitNow () не работали.Надеясь, что кто-то еще сталкивался с этим раньше и может сказать мне, что мне не хватает.

...