У меня есть 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(...);
}
}
сейчас это работает, но разве это не правильный способ сделать это? Боюсь, у меня могут быть утечки памяти в будущем.
спасибо.
лучей.