2013-04-07 4 views
1

Я добавляю свой Fragments в мой адрес Activity. Могу ли я удалить или заменить мои Fragment с на Fragment изменениях?Удаление фрагментов из списка ListFragment

MyFragment mList = new MyFrament(); 
getSupportFragmentManager() 
.beginTransaction()   
.remove(mList) 
.commit(); 

В какой метод жизненный цикл Fragment класса я должен назвать remove() или replace() метод. Я просто смущен, следует ли мне называть их onCreate(), onCreateView(), или onActivityCreate().

+0

Это не ясно, если вы хотите 'Fragment' удалить сам – gipi

+0

@gipi: Нету ... когда я нахожусь внутри фрагмента, есть правый и левый фрагмент меню, которые необходимо изменить/удалить. – theJava

ответ

2

За то, что я знаю, что вы лучше с вызовом 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(); 
+0

Как получить ссылку mList – theJava

+0

, вы можете использовать метод findFragmentById() – gipi

+0

@gipi: можете ли вы показать мне пример findFragmentById(), если мои фрагменты все добавляются/заменяются в одном режиме framelayout ... как могу ли я определить .. – theJava

Смежные вопросы