German Sender für 2 Views

Alexander Stolte

Expert
Licensed User
Longtime User
Hallo,

Folgendes Szenario: ich habe eine Liste, in dieser Liste sind Views, wenn ich jetzt einen Button, in dieser liste drücke, fange ich das ab mit dem Click Event + Sender.

Das klappt auch, was ist aber wenn ich bei dem Button click aus der Liste ein weiteres View z.B. ein Label umbenennen will, beim Button click? Ich habe dazu keine richtige Lösung gefunden.

Grüße
 

An Schi

Well-Known Member
Licensed User
Bin mir nicht ganz sicher, ob ich die Frage richtig verstehe....

Du kannst im button click ein vorhandenes label einfach neu initialisieren.

Falls das nicht hilft musst du die Frage ausführlicher äh ausführen :p
 

Knoppi

Active Member
Licensed User
Longtime User
Wenn button und label auf einem gemeinsmen pane liegen könnte das helfen:
B4X:
Sub Button_Action
    Dim b As Button = Sender
    Dim p As Pane = b.Parent
    For Each view As Node In p.GetAllViewsRecursive
        If view Is Label Then
            Dim lbl As Label = view
            'evtl noch lbl.tag abfragen wenn es mehrere label gibt
            lbl.Text = "Neuer Text"
        End If
    Next
End Sub

wenn nicht dann poste mal einen kleinen test code
 

Alexander Stolte

Expert
Licensed User
Longtime User
Wenn button und label auf einem gemeinsmen pane liegen könnte das helfen:

War zwar Code für B4I, aber ich habe es ULV sei dank doch einfacher hinbekommen :)

wer die UltimateListView nutzt hat automatisch ein Panel hinterlegt, dieses Panel kann man leicht initialisieren.

B4X:
Sub btn_like_Click

dim btn_like as Button = Sender
dim LayoutPanel as Panel = btn_like.Parent

dim btn_dislike as Button = LayoutPanel.GetView(10) 'die Zahl steht für den Platz im Designer wo das View ist, von 0 an fängt man an zu Zählen
btn_dislike.Visible = False

End Sub
 

Knoppi

Active Member
Licensed User
Longtime User
dim btn_dislike as Button = LayoutPanel.GetView(10)
Für den Fall du das design änderst ich würde den button nicht direkt mit NR ansprechen sondern die TAG Eigenschaft belegen und nach ihr suchen
Denn nach 2-3 Monaten weißt du nicht mehr das du das mit ändern musst.
 

Knoppi

Active Member
Licensed User
Longtime User
der Code ist von B4J da ist Pane = b4a.panel
 

Knoppi

Active Member
Licensed User
Longtime User
eigentlich brauchst du nur Pane durch Panel
und _Action durch _Click ersetzen
und sicherheitshalber view durch v (view ist glaube ich eine eigene klasse)

schau dir Post#7 an
 
Top