У меня есть MainActivity, который является Activity и другим классом (который является простым классом java), мы будем называть его "SimpleClass". теперь я хочу запустить из этого класса команду startActivityForResult.
теперь, хотя я мог бы передать этот класс (SimpleClass), только контекст MainActivity, проблема в том, что u can not run 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(...);
}
}
теперь работает, но разве это не правильный способ? Я боюсь, что в будущем у меня могут быть утечки памяти.
спасибо. лучей.