Я разрабатываю приложение для Android 2.3.3, состоящее из TabActivity верхнего уровня. Я также программно добавляю несколько вкладок в TabHost и даю каждой из них отдельную дочернюю активность:
intent = new Intent().setClass(this, MyFirstActivity.class);
spec = tabHost.newTabSpec(...).setIndicator(...).setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, MySecondActivity.class);
spec = tabHost.newTabSpec(...).setIndicator(...).setContent(intent);
tabHost.addTab(spec);
Событие происходит в другом месте моего приложения, и в ответ я хочу воссоздать все действия на вкладках. Для этого я вызываю getTabHost().clearAllTabs(), и хотя он удаляет их с вкладки, на самом деле он не убивает активность. Если я снова запущу приведенный выше код, существующие действия просто вернутся на свои вкладки и продолжат работать, как и раньше.
Есть ли флаг или что-то, что мне нужно установить, когда я создаю намерения, чтобы они правильно закрывались и создавались снова? В качестве альтернативы есть ли какой-либо другой способ для дочерних действий сообщить, когда они удаляются из родительского TabActivity?