Как я могу удалить все фрагменты, добавленные с помощью менеджера фрагментов?

Я добавил несколько таких фрагментов:

 currentWebViewFragment = tabs.get(currentTabIndex);
 FragmentTransaction ft = fm.beginTransaction();
 ft.add(R.id.webViewFrame,tabs.get(currentTabIndex));
 ft.commit();

Но «если действие приостановлено или остановлено, система может удалить действие из памяти, либо попросив его завершить, либо просто уничтожив его процесс.

если активность уничтожается и сохраняет свое состояние, то же самое делает и менеджер фрагментов.

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


person DennisVA    schedule 17.07.2015    source источник


Ответы (1)


Вы можете добавить все фрагменты в ArrayList, тогда вы сможете использовать remove(fragment), например:

FragmentTransaction ft = fm.beginTransaction();

for (Fragment fragment : fragmentList){

    ft.remove(fragment);

}

ft.commit();

Вы можете сделать это в методе onSaveInstanceState или в методе onStop, если хотите избежать сохранения состояния.

person Lennon Spirlandelli    schedule 17.07.2015