2

我有 2 个活动

  1. 主要活动
  2. 项目活动

MainActivity 有 3 个选项卡(片段)

  1. 片段1
  2. 片段2
  3. 片段3

当我转到 Frag2 并单击操作栏中的“添加”按钮时,ProjectActivity 启动。在项目活动中,当我单击“取消”按钮时,我再次启动 MainActivity。但是现在当 MainActivity 启动时,它显示 Frag1。

如何更改我的代码以显示 Frag2,因为用户之前在 Frag2 上?

当单击取消按钮时,我使用这个简单的代码来启动 MainActivity。

intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
4

2 回答 2

3

不要重新启动主要活动。改为使用finish()。这将带您回到原来MainActivity的状态,而不是创建一个新的。这与您从后退按钮获得的行为相同。

请参阅任务和后台堆栈以更深入地了解后台堆栈。

于 2013-01-13T15:57:47.147 回答
0

您可以维护一个变量来保存当前选项卡并在 onPause() 中更新。还要检查 onResume() 中的相同变量并相应地设置当前选项卡。

于 2013-01-14T07:43:30.737 回答