【发布时间】:2012-03-01 04:59:54
【问题描述】:
我正在开发一个包含顶级 TabActivity 的 Android 2.3.3 应用程序。我还以编程方式向 TabHost 添加了许多选项卡,并为每个选项卡提供了一个单独的子 Activity:
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(),尽管它从选项卡中删除了它们,但它似乎并没有真正杀死活动。如果我再次运行上述代码,现有活动将简单地添加回它们的选项卡,并且它们会像以前一样继续运行。
创建意图时是否需要设置标志或其他内容,以便它们正确关闭并再次创建?或者,是否有任何其他方式可以让子 Activity 告诉它们何时从父 TabActivity 中删除?
【问题讨论】:
标签: java android android-activity android-tabhost tabactivity