更改后退按钮行为 - Android

时间:2013-02-12 13:56:40

标签: android android-activity back

我有一个申请。流程是 -
启动画面--->主屏幕--->物品清单屏幕--->项目详细信息屏幕

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

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

我尝试使用完成()杀死项目详细信息屏幕,但随后活动堆栈中的最后一项活动是项目列表屏幕。
主屏幕上的后退按钮现在将我带到项目列表屏幕。
当用户在主屏幕上时,有没有办法清除活动堆栈。在这方面的任何帮助将受到高度赞赏。

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

使用Intent flag FLAG_ACTIVITY_CLEAR_TOP清除堆栈:

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

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