【问题标题】:Activity stack or task for my application我的应用程序的活动堆栈或任务
【发布时间】:2011-03-08 10:36:08
【问题描述】:

我在我的应用程序中使用ActivityGroup,结构如下 A > B > C(其中 A 首先显示),B 和 C 循环,如 B > C > B > C > B 和 B 和 C 如果用户按下后退按钮,则应显示活动 A(即使用户在 C 上) ,并且堆栈中不需要 B 和 C。

那么我该如何实现onBackPressed() 或任何其他方法来制作我的应用程序。

【问题讨论】:

  • 在相互切换时是否需要将活动 B 和 C 保留在堆栈中?
  • 还有什么应该对A进行反压?
  • @T0X1C 不需要他们存储。

标签: android android-activity activitygroup activity-stack


【解决方案1】:

如果我遇到这种情况,那么这就是我的选择

  1. 创建了一个活动,A 将调用 A 或 B
  2. 然后,当我从 B 创建 C 时,B 和 C 以某种方式循环,反之亦然,调用活动必须自行完成
  3. 最后,在任何活动上,无论是 B 还是 C,当按下返回键时,它都会自行销毁

在 B 和 C 活动中,这里是代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
    if ((keyCode == KeyEvent.KEYCODE_BACK))
    {
        finish();
    }
    return super.onKeyDown(keyCode, event);
}

【讨论】:

    【解决方案2】:

    您需要使用onBackPressed()

    如果 A 是一个常见的活动,最好将它移到菜单中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-27
      • 1970-01-01
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多