Spanish [SOLUCIONADO] Modificar aspectos del Activity desde una clase

vbmundo

Well-Known Member
Licensed User
Hola,

Quiero saber si puedo crear una clase que reciba como parámetro el Activity y que desde la clase se puedan modificar cuestiones del Aspecto de la misma.

Algo así como el famoso ByRef..

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Pablo

Puedes hacerlo asi:

B4X:
' en el activity
Sub Globals
Private Mimodulo As ModulodeClase ' El nombre que le des al módulo de clase
Dim BtnColor as Button
Dim Etiqueta as Label
' ........................
' ........................
' ........................

Sub Activity_Create(FirstTime As Boolean)

  Etiqueta.Inicialize ("")
  BtnColor.Inicialize ("BtnColor")

  Mimodulo.Initialize(Me, panel1, parametrox, Directorio ) ' lo que necesites

  ' ........................
  ' ........................

Sub BtnColor_Click
   ' cambiar color al activity
   Mimodulo.CambiarColorActivity (Colors.Blue)
End Sub




' --------------------------- en el módulo de clase ----------------------
Private Sub Class_Globals
  Private ActualActivity As Object
  Private ActualActivity As Activity ' tambien puedes utilizar este método
  Private MiPanel as Panel
  Public CarpetaAplicacion as string
  Private MiParametro as int
  private Cabecera1 as label
' ........................
' ........................
' ........................

Public Sub Initialize(MiActivity As Object, Panel1 as Panel , Parametro as int, Carpeta As String, TextoCabecera as label)

' tambien puedes poner que te devuelva si se ha inicializado correctamente
Public Sub Initialize(MiActivity As Activity, Panel1 as Panel , Parametro as int, Carpeta As String, TextoCabecera as label)  as Boolean

ActualActivity = Miactivity
MiPanel = Panel1
CarpetaAplicacion = Carpeta
MiParametro = Parametro
Cabecera1 = TextoCabecera

cabecera1.text ="Inicializado módulo"

' si por ejemplo has empleado que te devuelva un valor, puedes salir asi:
Return True ' o lo que sea a nivel de lo que inicialices

' ........................
' ........................
' ........................

Public Sub CambiarColorActivity (color as int)
  ActualActivity.Color = color
End Sub


Saludos
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Pablo, cuando te respondan y te resuelvan la pregunta, por favor, cambia el nombre del post y añadele [SOLUCIONADO] , de esta forma hacemos el foro mejor y mas rapido por que vemos de un golpe si se dió la solución.

Gracias


Saludos
 

vbmundo

Well-Known Member
Licensed User
Hola Jesus.

Estoy buscando la forma, proque me deja editar el primer POST, pero no el título... o no veo como.

Si me indicas como lo hago sin problemas.

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Pablo

Arriba a la derecha de la pantalla tienes un Thread Tools , pulsas y tienes un Edit Title

Saludos
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Gracias, ahora haz lo mismo en el resto de post solucionados :D

Saludos
 
Top