Java/Android 从其他 Class 访问在 Activity 中创建的对象

Java/Android access created Object in Activity from other Class

我正在 Main Activity 中创建一个对象,如下所示:

class MainActivity extends Activity {
  public A a;

  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    a = new A();
  }
}

我怎样才能在从另一个 class 创建的 class 主 Activity 中访问它:

class Class2 {
  a = MainActivity.a;
}

但这不起作用。

好吧,一种方法是在 MainActivity 中创建该对象的静态版本,但这并不明智。

public static A a;

如果他们共享某种形式的工厂,保存 A 的引用并管理有关它的任何内容,那就更好了。这样 MainActivity 和 class.

的所有权之间没有直接关系

类似于

A a = AclassFactory.getInstance();

其中 AclassFactory 充当单例,您可以使用它在主 activity class 和其他使用它的人之间进行管理。