Mam MainActivity, która jest aktywnością i inną klasą (która jest prostą klasą Java), nazwiemy to „SimpleClass”. teraz chcę uruchomić z tej klasy polecenie startActivityForResult.
teraz myślę, że mogę przekazać tę klasę (SimpleClass), tylko kontekst MainActivity, problem polega na tym, że nie można uruchomić context.startActivityForResult (...);
więc jedynym sposobem, aby SimpleClass używał 'startActivityForResult; polega na przekazaniu odwołania do MainActivity jako zmiennej Activity do SimpleClass, coś takiego:
wewnątrz klasy MainActivity tworzę instancję SimpleClass w ten sposób:
SimpleClass simpleClass=new SimpleClass(MainActivity.this);
teraz tak wygląda SimpleClass:
public Class SimpleClass {
Activity myMainActivity;
public SimpleClass(Activity mainActivity) {
super();
this.myMainActivity=mainActivity;
}
....
public void someMethod(...) {
myMainActivity.startActivityForResult(...);
}
}
teraz działa, ale czy to nie jest właściwy sposób? Obawiam się, że w przyszłości może dojść do wycieków pamięci.
dzięki. promień.