【问题标题】:Change Back Button Behaviour - Android更改返回按钮行为 - Android
【发布时间】:2013-02-12 22:04:51
【问题描述】:

我有一个应用程序。流程是 -
启动屏幕 ---> 主屏幕 ---> 项目列表屏幕 ---> 项目详细信息屏幕

在我的应用程序中,我在 Item List ScreenItem Details Screen 上有 home 按钮功能。

当我在项目详细信息屏幕上按主页按钮时,它会返回到主页屏幕。这是预期的行为。
但是当我在 主屏幕 上按 返回按钮 时,它会将我带回到 项目详细信息屏幕。(这是我不想要的东西

我尝试使用 finish() 杀死 项目详细信息屏幕,但是活动堆栈中的最后一个活动是项目列表屏幕。
主屏幕上的后退按钮现在将我带到项目列表屏幕。
当用户在主屏幕上时,有什么方法可以清除活动堆栈。在这方面的任何帮助将不胜感激。

【问题讨论】:

    标签: android android-activity back


    【解决方案1】:

    您应该启动您的 主屏幕 Activity 并带有额外的意图标志:

    // create intent
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(intent);
    

    这会将活动堆栈清除到主屏幕活动。此活动将仅呈现,而不是重新创建。此外,这可以保证只有一个主屏幕活动可能是您想要的。

    【讨论】:

      【解决方案2】:

      使用 Intent flag FLAG_ACTIVITY_CLEAR_TOP 清除堆栈:

      Intent intent = new Intent(this, HomeActivity.class);
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(intent);
      

      您应该在按下“主页按钮”时调用此代码。

      【讨论】:

        猜你喜欢
        • 2013-03-27
        • 1970-01-01
        • 2012-09-11
        • 2012-01-20
        • 1970-01-01
        • 2019-03-29
        • 2014-09-27
        • 2023-03-28
        • 1970-01-01
        相关资源
        最近更新 更多