-1

Ich stecke auf ein kleines Problem fest.Wie bekomme ich Daten aus bestimmten Zeilen nur in RecyclerView?

Wenn ich auf eine Zeile in meinem RecyclerView klicke, möchte ich die Farbe in eine andere Farbe ändern (z. B. rot).
Wenn ich dann noch einmal auf diese Zeile klicke, möchte ich die Farbe wieder auf die normale Farbe setzen (z. B. weiß).
Dann, wenn ich auf eine zweite Zeile oder n-te Zeile klicke, möchte ich das gleiche tun.

Ich habe versucht, an der RecyclerView Adapter-Klasse zu arbeiten, in meinem ViewHolder habe ich ein paar Ideen ausprobiert, Klicks von Benutzern gezählt, einen Boolean gesetzt, um die farbigen Zeilen zu überprüfen, und getAdapterPosition, um zu wissen, wo die Zeile steht ... aber tatsächlich Alle meine Versuche scheiterten!

Würden Sie mir bitte bei diesem Problem helfen?

Es scheint, dass ich auf die Lösung in der Nähe bin, aber brauchen ein wenig Hilfe

+0

A 'StateList Selector' Ihnen helfen. –

Antwort

0

Sie gehen Spur zu halten zu müssen, von denen Punkte auf der Liste (sonst alle Änderungen in der Ansicht ausgewählt wurden, wird einfach recycelt werden).

Behalten Sie eine Liste der ausgewählten Elemente in Ihrem Adapter. Im onBindViewHolder des Adapters können Sie mit der Liste vergleichen und wenn die Liste die Ansicht/das Element enthält, können Sie die Ansicht entsprechend einfärben.

Edit: hier finden Sie für ein Arbeitsbeispiel How to properly highlight selected item on RecyclerView?

+0

'holder.itemsParent.setOnClickListener (neu View.OnClickListener() { @Override public void onClick (Ansicht Ansicht) { mylist.add (holder.serviceNameAdded.getText() toString());. } }) ; ' Wenn Sie so denken, ich denke, es wird jeden Klick auf die Zeile in die Liste hinzufügen So, wie kann ich mit dem ersten Klick des Benutzers und zweiten Klick? –

+0

Sie müssen Ihren onClickListener in den Adapter eingeben, damit der Adapter für jede Ansicht festgelegt wird – jak10h

+0

[https://ideone.com/FLsH0F] Würden Sie bitte, überprüfen Sie dies? Ich denke, das ist meine alte Lösung –

Verwandte Themen