Android ActivityGroup在点击时返回第一个活动

时间:2011-04-27 06:46:28

标签: android android-tabhost tabactivity activitygroup

我有一个包含ActivityGroup的TabActivity的应用程序。每个选项卡都可以正常工作,但是对于一个特定的选项卡,我想在点击它时返回第一个子活动(每当我们处于此选项卡的子活动或其他选项卡内时)。

我尝试在我的ActivityGroup的onResume上启动我想要的活动,当我在另一个选项卡上时它会起作用,但是当我在这个选项卡上时,它会有一个子活动。

此标签是否必须使用另一个意图标志而不是FLAG_ACTIVITY_CLEAR_TOP? 有没有人有线索?

感谢。

1 个答案:

答案 0 :(得分:1)

借助ActivityGroup,您可以获得某种历史记录。

让我们说你的历史是:

ArrayList<View> history;

当然,历史记录需要初始化并在其中包含一些可以通过以下方式检索的视图:

getLocalActivityManager().startActivity(clazz.getName(), new Intent(this, clazz)).getDecorView();

其中clazz是您的子Activity的类。 所以在单击当前ActivityGroup时定义一个方法,如:

public void backToFirst() {
    int size = history.size();
    while (size > 1) {
        history.remove(size - 1);
        size = history.size();
    }
    setContentView(history.get(0));
}

希望我理解正确,这就是您正在寻找的答案。