我有 MainActivity,它是一个 Activity 和其他类(它是一个简单的 java 类) ,我们称之为“ SimpleClass”。
现在我想从这个类运行命令 startActivityForResult
。
我认为我可以只使用 MainActivity 的上下文传递那个类(SimpleClass) ,但问题是我们不能运行 context.startActivityForResult(...);
。
因此,使 SimpleClass 使用 startActivityForResult
的唯一方法是将 MainActivity 作为 Activity 变量的引用传递给 SimpleClass。
差不多是这样:
在 MainActivity 类中,我像这样创建了 SimpleClass 的实例:
SimpleClass simpleClass = new SimpleClass(MainActivity.this);
现在,这就是 SimpleClass 的样子:
public Class SimpleClass {
Activity myMainActivity;
public SimpleClass(Activity mainActivity) {
super();
this.myMainActivity=mainActivity;
}
....
public void someMethod(...) {
myMainActivity.startActivityForResult(...);
}
}
现在起作用了,但是没有合适的方法吗?我担心将来可能会有一些内存泄漏。