1

嗨,我有一个应用程序 A 是我创建 B 活动的启动器活动。从B我想回到A而不删除B的实例(所以没有完成)然后我想创建一个B的新实例让我们称之为B2。从 A 我希望能够在不重新创建 B 或 B2 的情况下显示它们。我再次强调 B,B2 是同一类,只是不同的实例。

从 B 当我想去 A 我想用

Intent myIntent = new Intent(getBaseContext(), MainAct.class);
myIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(myIntent);

但我认为这是一个错误,因为它会清除其他实例。在这些情况下我必须使用什么意图?在 c# windows 应用程序中,我们将执行 B.hide();A.show()。然后从 A 我们可以做 A.hide(); B.SHOW() 或 B1.show(); 请问我怎么能在android中做到这一点?

4

2 回答 2

0

使用FLAG_ACTIVITY_REORDER_TO_FRONT

从文档

如果在传递给 Context.startActivity() 的 Intent 中设置,则此标志将导致已启动的活动被带到其任务历史堆栈的前面(如果它已经在运行)。

于 2013-07-03T18:07:32.230 回答
0

如果B是一个活动,则不能有两个不同的实例。

你可以有 2 个不同的活动来扩展同一个类,但你已经表明你不想要那个。

您需要找到一种方法来更改其外观和行为,B而不是创建一个新实例。

请考虑阅读有关活动生命周期的信息。

于 2013-07-03T18:18:20.887 回答