相关疑难解决方法(0)

使用非活动的startActivityForResult

我有MainActivity这是一个Activity和其他类(这是一个简单的java类),我们称之为"SimpleClass".现在我想从该类运行命令startActivityForResult.

现在我虽然我可以传递那个类(SimpleClass),只有MainActivity的上下文,问题是,你不能运行context.startActivityForResult(...);

所以使SimpleClass使用'startActivityForResult的唯一方法; 是将MainActivity的引用作为Activity变量传递给SimpleClass,如下所示:

在MainActivity类中,我以这种方式创建SimpleClass的实例:

SimpleClass simpleClass=new SimpleClass(MainActivity.this);
Run Code Online (Sandbox Code Playgroud)

现在这就是SimpleClass的样子:

public Class SimpleClass {

Activity myMainActivity;

   public SimpleClass(Activity mainActivity) {
       super();
       this.myMainActivity=mainActivity;    
   }
....


    public void someMethod(...) {
        myMainActivity.startActivityForResult(...);
    }

}
Run Code Online (Sandbox Code Playgroud)

现在它的工作,但不是一个正确的方式这样做?我恐怕将来可能会有一些内存泄漏.

谢谢.射线.

java android

76
推荐指数
2
解决办法
6万
查看次数

标签 统计

android ×1

java ×1