Android ActivityGroup 在点击时返回第一个 Activity

标签 android android-tabhost tabactivity activitygroup

我有一个包含 ActivityGroup 的 TabActivity 的应用程序。每个选项卡都工作正常,但对于一个特定的选项卡,我想在点击它时返回到第一个子 Activity (无论何时我们在此选项卡的子 Activity 中或在另一个选项卡内)。

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

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

谢谢。

最佳答案

通常您对 ActivityGroup 有某种历史。

假设您的历史是:

ArrayList<View> history;

当然 history 需要初始化并且其中有一些 View 可以通过以下方式检索:

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));
}

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

关于Android ActivityGroup 在点击时返回第一个 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5800427/

相关文章:

android在触摸事件上绘图

android:将 View 膨胀到布局中

android-tabhost - 选项卡中的谷歌地图 v2 错误(片段中的 MapFragment)

android - Parcelable 与公共(public)静态。安卓模式

android - 动态更新 TabWidget 图标?

android - TabHost 开头不显示内容

Android Studio AdMob 错误无法解析符号 @integer/google_play_services_version"/>

java - Android 使整个表格行可点击

java - 如何以编程方式暂停 Activity ?

android - TabHost 在显示新 Activity 一段时间后显示默认 Activity