У мене є 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(...);
}
}
зараз це працює, але хіба це не правильний спосіб зробити це? Я боюся, що у мене можуть трапитися деякі витоки пам’яті в майбутньому.
Дякую. промінь.