Android Tabhost选项卡中的多个活动,onBackPressed

时间:2015-12-06 11:28:32

标签: android android-activity tabs android-tabhost android-navigation

我将描述我的问题。 我在我的Android应用中使用tabhost,其中包含tree tabs。第一个和第三个是"正常",这意味着 - 每个标签一个活动。 第二个标签与其他标签不同。我想在其中使用两个活动,并扩展ActivityGroup。 使用案例: 用户点击第二个标签> SettingsActivity已打开>用户保存的设置(按钮)> ActionActivity已打开。 我使用此代码调用ActionActivity

Intent intent = new Intent(this, ActionActivity.class);
    Window window = getLocalActivityManager().startActivity("activity_action", intent);
    setContentView(window.getDecorView());

它有效。标签更改为ActionActivity。 问题出在Java#onBackPressed()方法上。我在SettingsActivity抓住了它。我想从ActionActivity返回Settings Activity

@Override
public void onBackPressed() {
    LocalActivityManager manager = getLocalActivityManager();
    Activity view = manager.getCurrentActivity();

    if ((view instanceof ActionActivity)) {
        Intent intent = new Intent(this, SettingsActivity.class);
        replaceContentView("activity_settings", intent);
    } else {
        finish();
    }
}

我无法在ActionActivity中抓住此事件。

这种方法很糟糕,但只有一次。

用例: SettingsActivity> ActionActivity> BackPressed> SettingsActivity> ActionActivity> BackPressed>应用程序正在关闭。

当我第一次调试if ((view instanceof ActionActivity))时它会变为真,但是第二次它变为假,所以应用程序正在关闭。 你能帮助我吗?您知道如何解决它吗?

应用程序的用例应该是: SettingsActivity> ActionActivity> BackPressed> SettingsActivity> ActionActivity> BackPressed> SettingsActivity> ActionActivity> BackPressed> SettingsActivity>等

问候。

0 个答案:

没有答案