У меня есть макет для ландшафтного режима, который показывает ListView слева и FrameLayout справа. Когда элемент выбирается из списка, в FrameLayout добавляется другой фрагмент.
MyFragment myFragment = (MyFragment) fragmentManager.findFragmentById(R.id.myFrameLayout);
FragmentTransaction ft = fragmentManager.beginTransaction();
if (myFragment == null) {
myFragment = new MyFragment(uri);
ft.replace(R.id.myFrameLayout, playerFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commitAllowingStateLoss();
}
Позже я нажимаю «Удалить» в представлении списка и удаляю последний элемент в списке, и я пытаюсь удалить фрагмент, чтобы ничего не отображалось, но не работает, мой фрагмент остается на экране. Код для удаления:
MyFragment myFragment = (MyFragment) fragmentManager.findFragmentById(R.id.myFrameLayout);
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.remove(myFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
ft.commitAllowingStateLoss();
Любые идеи, почему он не удаляется из представления?