Italian riferimento dinamico a un pulsante

tmtube73

Active Member
Licensed User
buongiorno a tutti,

sapete se è possibile interagire in modo dinamico con i pulsanti?
vorrei creare un sub che riceve come parametro il nome di un pulsante e ne imposta il testo

esempio:

sub ImpostaTesto(nomepulsante as string)
nomepulsante.text="ciao"
end sub

il nomepulsante può essere uno dei pulsanti che ho nel layout

possibile?
 

LucaMs

Expert
Licensed User
Longtime User
Ciao.

Difficile farsene una ragione, ma le View (tasti compresi) non hanno nome.

Puoi creare una routine come questa, ad esempio:

B4X:
Public Sub SetViewText(Vw As B4XView, Text As String)
    Vw.Text = Text
End Sub

Ovvero passando la View stessa, insieme al testo.
 

Star-Dust

Expert
Licensed User
Longtime User
Puoi farlo con le Map
B4X:
sub ImpostaTesto(NomeButton as string)
Dom B ad Button = MapButton.Get(NomeButton)
B.text="ciao"
end sub

Ovviamente devi inserire nelle mappe bottoni e nomi
B4X:
MapButton.Put("Bottone Giallo", ButtonYellow)
 

udg

Expert
Licensed User
Longtime User
Ancora una possibilità: assegni alla proprietà Tag dei button un nome univoco, effettui un loop sulle view dell'activity/panel e se trovi un button con quel tag, cambi il testo.
Opopure un suo "pericolso" derivato: sapendo la posizone del button nella gerarchia del layout, puoi cambiare il testo del button identificato da una specifica posizione nel layout; pericoloso perché se modifichi il layout devi cambiare anche il codice di conseguenza..
 
Top