【问题标题】:How to synthetically add activity to back stack before starting another one?如何在开始另一个活动之前将活动综合添加到后台堆栈?
【发布时间】:2017-01-20 19:50:19
【问题描述】:

假设我在活动 A。我想开始活动 B,但如果用户按下活动 B,我希望他们被带到活动 C。

所以即使用户看到 A -> B,我也希望它是 A -> C -> B。

我知道我可以使用 TaskStackBuilder 并综合创建 ABC 堆栈。然而,有时 A 不仅仅是一项活动;可能有一些用户以前做过的导航,我不想丢失,用TaskStackBuilder综合重新创建会很麻烦。

有没有办法使用TaskStackBuilder 保持当前的后台堆栈?或者有没有其他方法可以在开始另一个活动之前将一个活动综合添加到后台堆栈?

【问题讨论】:

    标签: java android android-activity kotlin back-stack


    【解决方案1】:

    您可以做的是在活动B 中覆盖onBackPressed(),您将从那里启动活动C 并完成活动B。从用户的角度他会看到:

    A -> B ->(后按事件)-> C

    在后台:

    A -> AB -> AC

    @Override
    public void onBackPressed() {
        super.onBackPressed();
    
        Intent intent = new Intent(this, ActivityC.class);
        startActivity(intent);
        finish();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      相关资源
      最近更新 更多