就我而言,我有两个类MenuActivity、MinhaEscolaActivity
。
MenuActivity中有一个方法叫quemSouEu
,它是一个非静态方法。
它还需要在 MinhaEscolaActivity 的构造函数方法上定义一些属性。
如果我在 MenuActivity
上实例化 MinhaEscolaActivity
的新对象,这些属性将为 null,并且我将得到 NullPointerException
。
有没有办法使用MenuActivity
类中的quemSouEu
方法?
最佳答案
您不应该自己创建 Activity 对象。 Activity 是一个主要的 Android 组件,由系统创建。
如果您有一些功能要在 Activity 之间共享,您应该创建另一个类,并在 Activity 中实例化一个对象。
如果您也有数据要共享,您可以考虑一些共享数据的标准方法,如您可以阅读 in this answer
您在第二个类构造函数上创建的对象是什么?您可以启动 Activity 并获取结果,但只有当您实际上需要显示新 View 或以不同方式与用户交互时才应该这样做,您不应该告诉系统仅仅为了调用函数而运行新 Activity 。
关于java - 如何访问需要一些信息的非静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21002466/