Spanish [SOLUCIONADO] Ayuda pasar valores de un Activity Main a otro.

rscheel

Well-Known Member
Licensed User
Longtime User
Espero me puedan ayudar, como pasar valores de un Activity Main a otro?

Gracias.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Supongo que lo que quieres es pasar valores entre activity, crea una variable global y podras leerla o escribirla desde cualquier tipo de modulo (activity, class, code, service), tienes que declararla en Sub Process_Globals

Saludos
 

cas6678

Active Member
Licensed User
Longtime User
Hola.

Intentare colaborar porque aunque supongo que la respuesta es correctisima a mi tambien me costo entenderlo en su momento.

Si una variable esta declarada en una activity para leerla desde ella siemplemente la nombras. (variable).

Pero para usarla desde otro activity tienes que anteponer el nombre de la activity (main.variable)

Yo tarde horas en entenderlo.....espero ahorrartelas ;)
 

rscheel

Well-Known Member
Licensed User
Longtime User
Les realizo otra consulta aprovechando la otra, como puedo pasar el valor de una variable global, de un sub a otro sub en el mismo main.

Les dejo el código.
B4X:
Sub Process_Globals
       Dim lReplica As Boolean
End Sub

Sub ReplicaLocal
       If lReplica Then
       End If  
End Sub

Sub Otro
        If ListReplica.Size = 0 Then
        lReplica = True  ' envía  este valor.
    Else
            lReplica = False ' envía  este valor.
    End If
End Sub

Como esta actualmente no me envía ningún ni True ni False.

Espero me puedan ayudar saludos
 

cas6678

Active Member
Licensed User
Longtime User
y donde llamas al sub "Otro"?

No se si te estoy entendiendo bien lo que quieres hacer pero si no me equivoco al querer entenderte seria asi:

B4X:
Sub ReplicaLocal
       otro
       If lReplica Then
       End If 
End Sub

Quiero decir que si tu quieres que ReplicaLocal de alguna respuesta en funcion del estado del lReplica, con ese codigo, primero deberias llamar al sub Otro para que lReplica tone un valorr
 

dar2o3

Active Member
Licensed User
Longtime User
Buenos días, a ver tu lo que quieres (o te interesa) es crear una función que te devuelva un valor, las funciones por lo general se crean en módulos (code module en b4a),


Seria algo así

B4X:
Sub Otro (lista as list) as boolean
        If lista.Size = 0 Then
           return true
    Else
           return false
    End If
End Sub

y lo puedes llamar desde donde quieras de esta manera:

B4X:
if nombremodulo.otro(listreplica) = true then




end if

Este modo de trabajar hace el código mucho mas reutilizable, ya que esa función en te valdría para comprobar cualquier list que le pases, de todas maneras esto es algo bastante básico, te aconsejo que te leas un manual de vb, hay millones en internet.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola rscheel

Si la respuesta que te ha dado Dar2o3 no te vale, por favor, abre un nuevo post, asi quien busque tu pregunta la encontrará, pero nunca dentro de una pregunta diferente.

Gracias

Saludos
 

rscheel

Well-Known Member
Licensed User
Longtime User
Gracias por responder, pero ya lo solucione de otra manera, saludos y gracias.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola rscheel

Lo justo seria que si lo solucionaste de otra manera lo compartas con el foro, el foro no es el sitio donde se busca una solucion te la dan y ya está, es el sitio donde nos ayudamos todos, y donde se comparten experiencias. Si te fijas en tu pregunta, han habido 4 personas que han intentado ayudarte desinteresadamente por que ninguno cobramos de B4X. Ahora tienes la oportunidad de ayudar tu, de poner tu granito de arena al foro, eso dará animos a la gente para cuando vuelvas a plantear otra pregunta intentar ayudarte.

Saludos
 

rscheel

Well-Known Member
Licensed User
Longtime User
Lo que pasa es que las variables globales son asincronas, no puedo enviar un valor a un sub de abajo, y retornar un valor con la misma variable global a un sub de arriba.

La solución fue ejecutar la consulta que estaba haciendo en Sub ReplicaLocal en el Sub otro.

Disculpen la demora por responder. Y estaré atento en ayudar en cualquier duda.

Si puedo aportar ningún problema en ello, y gracias por su tiempo igual, saludos.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola rscheel:

Podrias poner en la cabecera [SOLUCIONADO], asi hacemos mas agil el foro, gracias.

Saludos
 
Top