0

我的应用程序包含两个类:MainActivity、Activity2。
Activity2 需要访问 MainActivity 的一个非静态方法。怎么做?

我是Java和Android的新手,如果可以的话,请为初学者解释清楚该怎么做。
提前谢谢你。

4

4 回答 4

1

当 B 从 A 启动时,您应该使用Bundles将值从 ActivityA 传递给 ActivityB,而不是从不同的 Activity 调用方法。

或者,如果您想重用代码,您应该创建一个可以创建两个实例的非活动对象。假设您在这两个活动中都进行了大量繁重的计算,您可以将计算代码放在“计算”对象中。就像你对任何其他 Java 对象一样启动它。请注意,这两个实例之间不会共享任何数据。

Calculate calc = new Calculate();
calc.codeIdLikeToReuse(numbersAndStuff);

希望这可以帮助。我建议您阅读活动生命周期,以了解活动的生命周期。

于 2012-11-30T19:32:32.817 回答
0

使用广播接收器调用不同活动中的方法,您可以在此处找到帮助 和一个示例

于 2012-11-30T19:06:07.847 回答
0

基本上,你不能那样做。两个活动不以这种方式交流。通常,一次只有一个活动处于活动状态(也可能并非总是如此)。真正的答案是使用 Intents。

您应该阅读一些基本的 Android 教程,例如anddev book

于 2012-11-30T19:07:56.550 回答
0

您还可以使用EventBus之类的库来链接代码。参考这篇文章

于 2016-11-15T07:23:49.117 回答