Italian accedere ad un oggetto di un layount

LucaMs

Expert
Licensed User
Longtime User
Direttamente non puoi, ecco perché gli oggetti grafici vanno dichiarati nella Globals e non nella Process_Globals, non sono accessibili da parte di altri moduli.

Puoi creare una routine nell'Activity che contiene la view di cui modificare le proprietà e chiamarla usando CallSubDelayed2 o 3.

Mettiamo che nell'Activity actDue hai una EditText1, in questa Activity potresti mettere:
B4X:
Public Sub ImpostaTesto(Testo As String)
    EditText1.Text = Testo
End Sub

e dalla Main, ad esempio:
B4X:
CallSubDelayed2(actDue, "ImpostaTesto", "Nuovo testo")



Altro metodo potrebbe essere impostare una variabile globale (Process_Globals) nella actDue, tipo gTesto e, sempre con lo stesso esempio, dalla Main:
B4X:
actDue.gTesto = "Nuovo testo"

Questo secondo metodo ha il grosso difetto che actDue non saprebbe se e quando la variabile cambiasse valore e quindi dovresti usare un timer o altro metodo per andare a controllare se sia cambiato e quindi modificare il valore di EditText1.Text col nuovo testo "ricevuto", cioè con EditText1.Text = gTesto.
 
Last edited:
Top