Я занимаюсь разработкой приложения для 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?