0

当我在 Activity 中说 Activity_A 时,我使用 Activity_A 的上下文转到 class_B。

现在,当我想从 class_B 重新启动 Activity_A 时。我用这个

Intent intent = new Intent(context, Activity_A.class);
context.startActivity(intent);

我想要的是当我从各种活动中调用 class_B 时,它必须使用从 Activity 发送到 class_B 的上下文重新启动它被调用的 Activity。

我想用名为 class_B 的 Activity 替换 Activity_A.class

4

3 回答 3

3

在您的情况下,您应该将一个类变量与活动上下文一起传递。例如来自 Actitity_A:

class_B.doMethod(this,Activity_A.class);

并使用类变量从 class_B 启动 Activity

于 2012-08-08T09:57:00.710 回答
0

如何使用 startActivityForResult(intent,code) 而不是 startActivity(intent) 我认为这可能有效

于 2012-08-08T10:02:42.773 回答
0

您可以传递一个包含活动名称的字符串。像下面

Intent intent = new Intent(context, Activity_A.class);
intent.putExtra("CALLED_FROM","ACTIVITY_A"); //PASSING FLAG Variable to know from where it called
context.startActivity(intent);

'

在 Activity_B 的 onCreate 中,您可以使用以下代码。

String calledFrom = getIntent().getStringExtra("CALLED_FROM");

从 ClassB 开始,您基本上可以在 calledFrom String 中检查 Activity Names 并相应地启动 Activity。

于 2012-08-08T10:06:26.663 回答