За то, что я знаю, что вы лучше с вызовом remove()
и replace()
методы из родительского Activity
или FragmentActivity
класса в этом случае, а не с в Fragment
.
И нет никакой необходимости создавать новый экземпляр фрагмента:
MyFragment mList = new MyFrament();
если вы хотите просто удалить его с помощью SupportFragmentManager
.
UPDATE:
Что касается вашего второго вопроса, если вы в настоящее время удаления Fragment
из вашего контейнера (любой Layout
вы ставите свои фрагменты, R.id.containerForFragments в следующем случае), то вам уже инстанцирован экземпляр этого Fragment
и добавить его с помощью:
getSupportFragmentManager()
.beginTransaction()
.add(R.id.containerForFragments, mList, tag)
.commit();
команды. Как вы можете видеть, вы можете указать тег для вашего фрагмента, который вы можете использовать позже, чтобы получить этот экземпляр Fragment
назад от FragmentManager
с помощью:
fragmentManager.findFragmentByTag(tag);
команды.
Так, чтобы удалить Fragment
, например, сделать это:
fragmentTransaction.remove(fragmentManager.findFragmentByTag(tag)).commit();
Это не ясно, если вы хотите 'Fragment' удалить сам – gipi
@gipi: Нету ... когда я нахожусь внутри фрагмента, есть правый и левый фрагмент меню, которые необходимо изменить/удалить. – theJava