2

假设我有 4 个活动,A、B、C 和 D。每个活动都有一个按钮,A 启动 B,B 启动 C,C 启动 D。假设在活动 B 上,有一个动态列表视图,填充使用活动 A 提供的信息。当我从 B 中选择一个项目时,它会启动 C,当我按下“后退”按钮时,我看到活动 B 的状态是我离开它的状态(动态项目和滚动状态)。

现在我想要的是,在活动 D 上有一个按钮,我想通过保持其状态(项目数据和滚动位置)返回到 B,就好像我在 C 上并按下后退按钮一样。

到目前为止,我发现,为了我从 D 回到 B 的意图,我应该使用“FLAG_ACTIVITY_CLEAR_TOP”作为意图标志。

有任何想法吗?谢谢。

4

2 回答 2

2

您可以在 Activity C 中通过 startActivityForResult(Intent intent, int requestCode) 启动 D。当 D 在 onActivityResult(int requestCode, int resultCode, Intent data) 中的活动 C 中以指定结果结束时,只需调用 finish(); 完成活动 C。记得为活动 D 设置结果,当你想回到活动 B 时

setResult(Activity.RESULT_OK, myIntent); //or any other result or intent
于 2012-10-15T12:07:50.017 回答
0

以这种方式在 Activity C 中的 Button C click 事件上添加代码

 Intent intent=new Intent(CActivity.this,DActivity.class);
 startActivity(intent);
 CActivity.this.finish();
于 2012-10-15T11:57:52.170 回答