Не могу удалить фрагмент из FrameLayout?

У меня есть макет для ландшафтного режима, который показывает 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();

Любые идеи, почему он не удаляется из представления?

8
задан DaveJohnston 28 March 2012 в 16:29
поделиться