Ich habe eine benutzerdefinierte Gridview.Ändern Sie die Farbe von Bildansicht in benutzerdefinierten untergeordneten Gridview-Element, wenn auf ein anderes untergeordnetes Element geklickt wird
Dabei verwende ich ein Rahmenlayout, das eine Bildschaltfläche, eine Textansicht und eine Ansicht enthält. Ich muss die Hintergrundfarbe der Bildansicht/Textfarbe der Textansicht ändern und die Ansicht anzeigen, wenn ein Element gedrückt wird.
Um das zu erreichen, führte ich setOnClickListener
in diesem Adapter. Und um die Änderungen rückgängig zu machen, implementierte ich setOnLongClickListener
.
Jetzt ist die Frage, ich möchte Hintergrundfarbe und alles für nur ein Element zu einer Zeit ändern. Wie erreiche ich das? Wenn Element1 vorher ausgewählt wurde, sollte es deaktiviert sein, wenn ich auf Element2 klicke.
Angenommen, ich speichere die Position des Elements, auf das geklickt wurde. Wie führe ich setOnLongClickListener
für das Objekt an dieser Position aus, wenn auf ein anderes Objekt geklickt wird?
Item1 Item2 Item3 Item4
Y N N N
Position :0
Now after clicking on Item2,
Item1 Item2 Item3 Item4
N Y N N
I need to perform onlongClicklistener for that position.
ich gleiche Problem konfrontiert und suchte ich diese Antwort diese Antwort versuchen [link Beschreibung hier eintragen] (http://stackoverflow.com/a/13880851/2774275) –
Der Link spricht über das Ereignis onClick für Dinge in einem Childitem. Das ist sowieso. Ich muss onLongClick für einen Gegenstand an einer Position ausführen, die mir bekannt ist, wenn ich auf einen anderen Gegenstand klicke. – driftking9987