Spanish [Solucionado] Cargar un dato en un EditText desde otro modulo

23021959Pepe

Member
Licensed User
Longtime User
Hola a todos, mi pregunta es ¿Como puedo cargar el valor de una variable en un EditText?
Aclaro un poco más. El EditText lo tengo diseñado por ejemplo en un modulo llamado A, pero el valor que yo quiero introducir está en un modulo llamado B, como le asigno el valor desde el modulo B y al volver al modulo A aparezca el valor introducido en el EditText.
Lo he intentado con una variable declarada en Process_Globals, pero no se donde colocar esa variable en el modulo A, para que el EditText tome ese valor.

Con lo sencillo que es en VB y lo complicado que es en B4A

Saludos
Pepe
 

josete

Member
Licensed User
Longtime User
La declaras en el process_globals de a ,por ejemplo y para acceder desde b usas el nombre del modulo donde este definida con el punto y el nombre de la variable.Por ejemplo cuando empiezas un proyecto nuevo te abre por defecto un Activity module que se llama Main,creas en process_globals una variable : Dim s As String .En el segundo Activity module ,class module o code module ,para llamar a esa varible: Main.s = "Ya esta" .De vuelta al modulo Main: EditText.text = s
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

La declaras en el sub globals de a ,por ejemplo
Solo un apunte a Josete, no es en Sub Globals, ahi se declaran las variables a nivel de activity, tiene que ser en Sub Process_Globals , y haciendo lo que ha dicho Josete te funcionará

B4X:
Sub Process_Globals
' En A
Public MiVariableEnA As String
'.............
'.............
'.............

Sub Activity_Create(FirstTime As Boolean)
' de B
a.MiVariableEnA = "Hola desde B"
'.............
'.............
'.............
'.............
'.............
'.............


Sub Activity_Resume
' del modulo A

EditText1.text = MiVariableEnA

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

Tambien puedes declarar la variable en B y leerla en A (o cualquier sitio), te recomiendo que lo hagas en main y podras acceder a ella desde cualquier modulo. Aunque lo mejor es crear un Code Module (Project/Add New Module/Code Module) y ahi pones las variables sub o funciones globales que quieras utilizar en cualquier sitio, y asi tambien ahorras lineas de código.
Si por ejemplo creas un sub que te trata la hora y la fecha y la empleas desde diferentes activity o modulos, la creas en este y asi no tendras que ponerla en cada sitio, si no solo en uno. La ventaja de esto es que ese modulo si pones cosas como el tratamiento de cadenas tipo a VB que tanto añoras ;), ya tienes un modulo que al copiarlo no tendras que escribirlo de nuevo, ya que ese modulo lo puedes añadir a cualquier proyecto.

Mirate esto, igual te interesa :
https://www.b4x.com/android/forum/t...basic-en-b4a-casi-tutorial.33445/#post-195586


Saludos
 
Last edited:

bgsoft

Well-Known Member
Licensed User
Longtime User
Gracias, solo quise apuntarlo por si Pepe u otro que leyera tu solución no se diera cuenta. Y de paso ampliar otras opciones que pienso que pueden ser interesantes cuando trabajas con variables globales.

Saludos
 
Top