【问题标题】:How can I access a non-static method that requires some informations?如何访问需要一些信息的非静态方法?
【发布时间】:2014-01-08 17:27:28
【问题描述】:

就我而言,我有两个班级MenuActivity, MinhaEscolaActivity。 MenuActivity 中有一个方法叫quemSouEu,它是一个非静态方法。 它还需要在 MinhaEscolaActivity 的构造方法上定义一些属性。 如果我在MenuActivity 上实例化MinhaEscolaActivity 的新对象,这些属性将为空,我将得到NullPointerException

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

【问题讨论】:

  • 你能显示一些MenuActivtiy的代码吗?
  • 使用片段,这不是个好主意吗?

标签: java android oop


【解决方案1】:

您不应该自己创建活动对象。 Activity 是由系统创建的主要 android 组件。

如果你有一些函数要在activity之间共享,你应该创建另一个类,并在你的activity中实例化一个对象。

如果你也有数据要分享,可以考虑一些标准的数据分享方式,可以阅读in this answer

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

【讨论】:

    【解决方案2】:

    您可以使用意图在活动之间传递值。您永远不应该创建活动类的实例。在下面的帖子中查看 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 中的方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多