0

我有 2 个活动:DetailsBuildingActivity 和 EditBuildingActivity。DetailsActivity 有一个按钮可以转到 EditBuildingActivity,以编辑建筑物的属性(如名称、大小等)。编辑和保存后,DetailsBuildingActivity 将打开新的调整数据。一次来回执行几次,给我以下问题:

连续执行 5 次后,我按下后退按钮,我必须按 10 次才能进入上一个活动。(10 次 - 5 次 DetailsBuildingActivity 和 5 次 EditBuildingActivity)。有没有办法解决这个问题?我不断地打算打开彼此的操作。

4

1 回答 1

0

您需要使用活动堆栈。

当您保存在 EditBuildingActivity 中时,您需要调用 finish() 而不是创建新意图。

如果您希望 DetailsBuildingActivity 了解 EditBuildingActivity 状态,可以使用

startActivityForResult(intent, requestCode) 开始活动。

setResult() && finish() 完成启动的活动

--- 安卓文档

protected void onActivityResult (int requestCode, int resultCode, Intent data)

自:API 级别 1 当您启动的活动退出时调用,为您提供启动它的 requestCode、它返回的 resultCode 以及来自它的任何其他数据。如果活动显式返回、未返回任何结果或在操作期间崩溃,则 resultCode 将为 RESULT_CANCELED。当您的活动重新开始时,您将在 onResume() 之前立即收到此调用。请记住,活动可以有多个实例,并且每次您带着一个意图启动一个新实例时,它们通常都会添加到活动堆栈的顶部。

于 2013-06-18T23:51:47.463 回答