2016-05-12 8 views
0

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. 
+0

ich gleiche Problem konfrontiert und suchte ich diese Antwort diese Antwort versuchen [link Beschreibung hier eintragen] (http://stackoverflow.com/a/13880851/2774275) –

+0

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

Antwort

0

suchte ich eine andere Antwort für Sie, aber es ist in der Listenansicht Sie sich Kurzansicht ändern see this link

+0

Wenn ich onClick-Ereignis für die Bildschaltfläche im Adapter ausführen, kann ich die Hintergrundfarbe ändern. Jedes Mal, wenn ich ein Element drücke, wird die Farbe geändert, sodass mehrere Objekte ausgewählt werden, und genau das möchte ich nicht. Ich möchte, dass die Farbe des Objekts wieder auf das Original zurückgesetzt wird, wenn ich auf ein anderes Objekt klicke. – driftking9987