Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 19/06/16, 15:46:05
Array

[xs_avatar]
Red_Wolf Red_Wolf no está en línea
Usuario poco activo
 
Fecha de registro: may 2014
Localización: Valencia
Mensajes: 17
Tu operador: Movistar

ooh Referenciar activity que genera un customdialog

Tengo una activity que al crearse, inicia un custumdialog con información para el usuario. Me gustaría que cuando el usuario le diera a cerrar el dialog, se llamara a una función que se encuentra dentro de la activity.
He leído que se le puede añadir un listener a la función ondismiss para detectar cuando cierra el dialog, sin embargo, me es imposible ejecutar la función ya que al encontrarse dentro del activity y no del dialog, no hay forma de hacer que funcione.

Mi pregunta es:

- ¿Desde el dialog puedo utilizar una función como argumento? En caso afirmativo, ?cómo paso una función por parámetro?

- ¿Como hago referencia la actividad sobre la que estoy creando el dialog? Es decir, si el dialog se ha llamado desde mainactivity, cómo haría para acceder al contenido de esa actividad desde el dialog?

Muchas gracias.
Responder Con Cita


  #2  
Viejo 19/06/16, 18:43:44
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

No se pueden pasar métodos como parámetro, pero siempre puedes pasar un objeto como parámetro y llamar a un método de ese objeto.

Ya que mencionas el ejemplo del onDismiss, en ese caso le estás pasando al dialog un objeto que extiende la interfaz OnDismissListener y sabes que al cerrarse va a llamar al método onDismiss del mismo. En la práctica es ejecutar tu código, aunque no sea directamente un método.

Si el código del onDismiss que dices que no te funciona está dentro de la misma actividad ni siquiera te hace falta pasar la referencia. Está claro que no puedes poner this.hazAlgo() porque lo estás llamando desde otra clase, pero supuesto que tu actividad se llame MainActivity y tenga el método hazAlgo(), puedes ejecutar desde el onDismiss() lo siguiente: MainActivity.this.hazAlgo() , que es la forma de referenciar a clases "contenedoras" dentro de una clase interna.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 19:00:59 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /