I have a CheckBox in my recyclerview items with Gone visibility . I want to make it visible for all items in recyclerview when I have a longClick on one of items .so I did
Your Holder
holds only current item, that's why you see a result in this item only.
First option is just to make some boolean flag and call notifyDataSetChanged()
, in onBindViewHolder()
just use that flag to set visibility.
Also you can try to create collection of your CheckBoxes
or Holders
and on long click iterate them to make checkboxes visible. As for me, it's not the worst option.
If you don't want to have a loop for that, another way I see, is to implement Observer pattern - on checkbox creation you should add it as a subscriber to receive visibility notification.
Also there is a good possibility to use RX here:
- on long click you emit event
- and before you subscribe your checkboxes on that event.
It's also related to Observer
pattern.