2017-12-29 6 views
0

Ich habe ein Galerie-Projekt erstellen. Ich verwende RecyclerView, um alle Bilder anzuzeigen, die vom Server kommen. Ich verwende Picasso, um die Bilder in die Adapter zu laden. Jetzt habe ich eine Edit button oben auf der RecyclerView. Wenn ich auf das Edit button klicke, möchte ich ein dismiss button auf jedem Bild anzeigen, das im Adapter verfügbar ist. Um die Schaltfläche in allen Elementen sichtbar zu machen, rufe ich notifyDataSetChanged() im Adapter nach dem Klicken auf die Edit Button.Android: Machen Sie eine Ansicht in RecyclerView sichtbar ohne notifyDataSetChanged()

Problem ist, wenn ich notifyDataSetChanged() aufrufen, lädt Picasso alle Bilder wieder. Wie kann ich das erneute Laden von Bildern vermeiden?

+0

Sie können nicht Nachladen von Bildern vermeiden, weil, wenn Sie in Ihrem recyclerview/Listenansicht ändern möchten, dann müssen Sie Ihren Adapter benachrichtigen sich entsprechend verhalten. Sie können eine Sache tun, um Bilder zwischenzuspeichern, damit Bilder schnell geladen werden. –

+0

Ja, stimme mit @SurenderKumar überein, aber du kannst deine Bilder auch über dein Picasso-Setup zwischenspeichern, um das Laden des Bildes zu beschleunigen. –

+0

Jede bessere Lösung als Caching? @LesterL. – XoXo

Antwort

0

Sie können auf die Schaltfläche ausblenden, indem button.setVisibility(View.GONE); und klicken editbutton Verwendung Aufruf button.setVisibility(View.Visible); Schaltfläche, um

+0

, aber das erfordert auch notifyDataSetChanged(); aufgerufen werden, um die Änderungen in der Liste zu melden. – Amardeep

Verwandte Themen