アクティビティであるMainActivityと他のクラス(単純な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(...);
}
}
現在は機能していますが、これを行う適切な方法ではありませんか?将来、メモリリークが発生する可能性があります。
ありがとう。レイ。