如何访问需要某些信息的非静态方法?

时间:2014-01-08 17:27:29

标签: java android oop

就我而言,我有两个班MenuActivity, MinhaEscolaActivity。 MenuActivity中有一个名为quemSouEu的方法,它是一种非静态方法。 它还需要在MinhaEscolaActivity的构造函数方法上定义的一些属性。 如果我在MinhaEscolaActivity上设置MenuActivity的新对象,则这些属性将为空,我将获得NullPointerException

有没有办法使用quemSouEu类的方法MenuActivity

2 个答案:

答案 0 :(得分:1)

您可以使用意图在活动之间传递值。您永远不应该创建活动类的实例。在下面的帖子中看看Raghav Sood的答案

Can i Create the object of a activity in other class?

您的存储选项

http://developer.android.com/guide/topics/data/data-storage.html

存储数据并在需要时检索。在选择之前阅读文档。

您可以使用意图将数据从MinhaEscolaActivity传递到MenuActivtiy,然后在MenuActivity自我执行

中执行该方法

答案 1 :(得分:1)

你不应该自己创建一个活动对象。活动是一个主要的Android组件,意图由系统创建。

如果要在活动之间共享某些功能,则应创建另一个类,并在活动中实例化对象。

如果您还要分享数据,可以考虑一些共享数据的标准方法,因为您可以阅读in this answer

您在第二个类构造函数上创建的对象是什么?你可以启动活动并获得结果,但是你只应该这样做,如果实际上你需要显示一个新的视图或以不同的方式与用户交互,你不应该告诉系统只是为了调用一个函数来运行一个新的活动。