Tengo MainActivity que es una actividad y otra clase (que es una clase java simple), lo llamaremos "SimpleClass". ahora quiero ejecutar desde esa clase el comando startActivityForResult.use startActivityForResult from no-activity
ahora pensé que podría pasar esa clase (SimpleClass), solo el contexto de MainActivity, el problema es que no puedes ejecutar context.startActivityForResult (...);
así que la única manera de hacer que SimpleClass use 'startActivityForResult; es pasar la referencia de MainActivity como una variable de actividad a la SimpleClass algo así:
dentro de la clase MainActivity i crear la instancia de SimpleClass esta manera:
SimpleClass simpleClass=new SimpleClass(MainActivity.this);
ahora esto es cómo SimpleClass se parece a:
public Class SimpleClass {
Activity myMainActivity;
public SimpleClass(Activity mainActivity) {
super();
this.myMainActivity=mainActivity;
}
....
public void someMethod(...) {
myMainActivity.startActivityForResult(...);
}
}
ahora funciona, pero no es una forma adecuada de hacer esto? Temo que podría tener algunas pérdidas de memoria en el futuro.
gracias. ray.
No sé lo que estás tratando de hacer, pero deberías leer [esto] (http://stackoverflow.com/questions/2253088/passing-activity-to-non-activity-object-properly). – Macarse
Al hacer esto, ¿podría usar el método 'onActivityResult' dentro de su simpleClass o no tenía la intención de hacerlo? [Mismo problema aquí ..] (http://stackoverflow.com/questions/25557087/how-to-get-the-result-from-onactivityresult-inside-another-classoutside-of-the/25557182?noredirect = 1 # comment39915501_25557182) –