我有很多相同活动的例子。 此时堆叠是A1-> A2-> A3-> A4-> A5,顶部是A5。 我下次活动启动的代码是这样的:
Intent intent = new Intent();
intent.putExtra("some option", "its value");
intent.setClass(this, MyActivity.class);
startActivity(intent);
我需要有机会从任何实例中提出每个实例。例如,我想恢复(!)A2。如果有可能重新排序活动堆栈将是非常好的,我认为这是最简单的方法,如果可能的话。 我认为使用标志不是最简单的方法,它们无法完全解决问题。 我想为轻松切换实例创建类,但我想手动为第一个实例。 我试过很多方法......这里有一个。
Intent intent = new Intent(A2, MyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
A2是我的活动类的静态变量(类型 - 活动)。它包含指向我的A2实例的指针。 A还有像A2这样的A1-A5变量。 我已将Log.e添加到onResume函数中。我看到我的代码带到了前面A5而不是A2(没有日志,看起来我的代码什么也没做)。
请帮帮我:)。
答案 0 :(得分:0)
我可以建议您将目录页面移动到片段而不是活动吗?这样,您就可以创建片段的多个实例,每个实例都有唯一的标记,并且可以随意使用add()
或remove()
。
可以在Android开发网站here和here找到更多信息。
如果您使用的是Android 3.0以下版本,请记住您可以使用兼容包来获取Fragment support。