【问题标题】:Android ActivityGroup back first activity on clickAndroid ActivityGroup 在点击时返回第一个活动
【发布时间】:2011-08-13 14:43:06
【问题描述】:

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

我试图在我的 ActivityGroup 的 onResume 上启动我想要的活动,当我在另一个选项卡上时它可以工作,但当我在这个选项卡上时,它没有子活动。

我是否必须为此选项卡使用除 FLAG_ACTIVITY_CLEAR_TOP 之外的其他意图标志? 有人知道吗?

谢谢。

【问题讨论】:

    标签: android android-tabhost tabactivity activitygroup


    【解决方案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));
    }
    

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

    【讨论】:

    • 谢谢。我没有回答,但我已经这样做了:code public void resetChildActivities() { LocalActivityManager manager = getLocalActivityManager(); int index = mIdList.size() - 1; for (int i = index; i > 0; i--) { manager.destroyActivity(mIdList.get(i), true); mIdList.remove(i); } } code 但您的解决方案接缝更好。谢谢。
    • 大家好。我是 android 开发的新手。我的要求是我面临一个问题并且无法解决它任何人都可以了解它并帮助我解决问题这是我使用 logcats 发布我的代码的链接stackoverflow.com/questions/15223444/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    • 1970-01-01
    相关资源
    最近更新 更多