【发布时间】:2010-05-17 11:56:47
【问题描述】:
我有 MainActivity,它是一个 Activity 和其他类(这是一个简单的 java 类),我们称之为“SimpleClass”。 现在我想从该类运行命令 startActivityForResult。
现在我虽然可以通过那个类(SimpleClass),但只有 MainActivity 的上下文,问题是,你不能运行 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(...);
}
}
现在它的工作,但不是这样做的正确方法吗?恐怕我以后可能会出现一些内存泄漏。
谢谢。 射线。
【问题讨论】:
-
我不知道你想做什么,但你应该阅读this。
-
通过这样做,您是否可以在您的 simpleClass 中使用
onActivityResult方法,或者您不打算这样做? Same problem here..