1

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

在我的应用程序中,我在项目列表屏幕项目详细信息屏幕上有主页按钮功能。

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

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

4

2 回答 2

2

您应该使用其他意图标志启动主屏幕活动:

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

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

于 2013-02-12T14:04:51.640 回答
1

Use the Intent flag FLAG_ACTIVITY_CLEAR_TOP to clear the stack:

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

You should call this code when the 'Home button' is pressed.

于 2013-02-12T14:02:52.273 回答