Tengo MainActivity que es una Activity y otra clase (que es una clase Java simple), la llamaremos "SimpleClass". ahora quiero ejecutar desde esa clase el comando startActivityForResult.
ahora pensé que podría pasar esa clase (SimpleClass), solo el contexto de MainActivity, el problema es que no puedes ejecutar context.startActivityForResult (...);
entonces la única forma de hacer SimpleClass para usar 'startActivityForResult; es pasar la referencia de MainActivity como una variable de actividad a SimpleClass algo así:
dentro de la clase MainActivity creo la instancia de SimpleClass de esta manera:
SimpleClass simpleClass=new SimpleClass(MainActivity.this);
ahora así es como se ve SimpleClass:
public Class SimpleClass {
Activity myMainActivity;
public SimpleClass(Activity mainActivity) {
super();
this.myMainActivity=mainActivity;
}
....
public void someMethod(...) {
myMainActivity.startActivityForResult(...);
}
}
ahora está funcionando, pero ¿no es una forma adecuada de hacerlo? Me temo que podría tener algunas pérdidas de memoria en el futuro.
Gracias. rayo.