我有一个名为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(...);
}
}
现在它可以工作了,但是有没有更好的方法呢?我担心将来可能会出现一些内存泄漏问题。
onActivityResult
方法,或者您并不打算这样做? 这里也有同样的问题.. - Vivere_FlowCoder