android - 更改后退按钮行为 - Android

标签 android android-activity back

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

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

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

我尝试使用finish() 终止Item Details Screen,但是 Activity 堆栈中的最后一个 Activity 是Item List Screen。
主屏幕上的后退按钮现在将我带到项目列表屏幕。
当用户在主屏幕上时,有什么方法可以清除 Activity 堆栈。在这方面的任何帮助将不胜感激。

最佳答案

您应该使用额外的 Intent 标志启动您的主屏幕 Activity:

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

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

关于android - 更改后退按钮行为 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834217/

相关文章:

android - 在 CameraPreview 上应用 EffectFactory 效果

android - Cocos2d-x-3.1.1 在运行 build_native.py 时出错

java - 在 Android 设备上构建时出错

Javascript/jQuery 后退按钮 - 只要最后一页是当前站点的一部分?

php - 仅为自己的网站启用 http_referer 反向链接

javascript - 如何使后退按钮链接到用户访问过的上一页?

java - 我如何通知我的应用程序一个文件已从 SDCard (Android) 中删除?

android - 创建文件夹而不是文件

android - 在 Android 中显示一个透明的 Activity?

java - 替换 fragment 时出错