2010-07-09 9 views
5

Tengo una actividad de contacto que se deriva de ListActivity, que muestra lista de contactos, y al hacer clic en el elemento, se inicia una actividad de mensaje de actividad nueva derivada de ListActivity.¿Cómo se puede llamar a la instancia de actividad de llamada Actividad?

Ahora sé, puedo empacar cierta información en Bundle y pasarla antes de crear actividad, pero ¿hay alguna forma de que pueda obtener una instancia de "ContactActivity" en el método onCreate de "MessageActivity"?

Respuesta

4

No, lo siento, no hay medios incorporados para que pueda acceder a la actividad que llamó al startActivity() para su actividad actual. Después de todo, es posible que la actividad original no esté en su aplicación (p. Ej., Pantalla de inicio).

+0

De todos modos, gracias, el problema es que no puedo mover objetos personalizados entre actividades a través de Bundle, Bundle solo acepta cadenas, etc., pero no clases de datos comerciales. –

+5

No es cierto, si tiene sus clases de datos implementan 'Serializable' o' Parcelable', puede pasarlas con 'Bundle' – CaseyB

5

Sí, puede hacer una solución. En su mensaje Actividad declara un atributo estático del tipo de su clase de contacto, luego establece ese atributo con el contacto seleccionado cuando se hace clic en la lista y luego comienza la actividad de su mensaje. Cuando se ejecuta onCreate en su actividad de mensaje, puede usar ese atributo.

Cuestiones relacionadas