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


 
Herramientas
  #1  
Viejo 19/06/16, 15:46:05
Avatar de Red_Wolf
Red_Wolf Red_Wolf no está en línea
Usuario poco activo
Mensajes: 17
 
Fecha de registro: may 2014
Localización: Valencia
Mensajes: 17
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
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.
Responder Con Cita
Respuesta

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

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 08:41:25 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007