활동 인 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(...);
}
}
이제 작동하지만 올바른 방법이 아닙니까? 나는 미래에 약간의 메모리 누수가있을 수 있다는 것이 두렵다.
감사. 레이.