我有一个包含 ActivityGroup 的 TabActivity 应用程序。每个选项卡都可以正常工作,但是对于一个特定的选项卡,我想在单击它时返回第一个子活动(每当我们处于此选项卡的子活动或另一个选项卡内时)。
我试图在我的 ActivityGroup 的 onResume 上启动我想要的活动,当我在另一个选项卡上时它可以工作,但当我在这个选项卡上时,它没有子活动。
我是否必须为此选项卡使用除 FLAG_ACTIVITY_CLEAR_TOP 之外的其他意图标志?有人有线索吗 ?
谢谢。
我有一个包含 ActivityGroup 的 TabActivity 应用程序。每个选项卡都可以正常工作,但是对于一个特定的选项卡,我想在单击它时返回第一个子活动(每当我们处于此选项卡的子活动或另一个选项卡内时)。
我试图在我的 ActivityGroup 的 onResume 上启动我想要的活动,当我在另一个选项卡上时它可以工作,但当我在这个选项卡上时,它没有子活动。
我是否必须为此选项卡使用除 FLAG_ACTIVITY_CLEAR_TOP 之外的其他意图标志?有人有线索吗 ?
谢谢。
通常使用 ActivityGroup 你有某种历史。
假设您的历史是:
ArrayList<View> history;
当然历史需要被初始化并有一些可以通过以下方式检索的视图:
getLocalActivityManager().startActivity(clazz.getName(), new Intent(this, clazz)).getDecorView();
其中 clazz 是您的子活动的类。因此,在当前 ActivityGroup 中单击时定义一个方法,如:
public void backToFirst() {
int size = history.size();
while (size > 1) {
history.remove(size - 1);
size = history.size();
}
setContentView(history.get(0));
}
希望我正确理解了您,这就是您正在寻找的答案。