adding checkmarks to recyclerview in android -


is there way make recyclerview have checkmarks in listview? of example see don't have checkmark-like features. instead highlight row when user clicks on item in list not behavior desire. please suggestions? thanks

i :

first, have sparsebooleanarray in adapter initialize in constructor. sparsebooleanarrays map integers booleans can know view has been selected , hasn't.

 public class recycleradapter extends     recyclerview.adapter<recycleradapter.dataviewholder> {     private sparsebooleanarray selecteditems;     public recycleradapter(context context, list<data> datalist){         selecteditems = new sparsebooleanarray();     } 

the viewholder implements clicklistener:

  public  class dataviewholder extends recyclerview.viewholder implements view.onclicklistener{          public dataviewholder(view itemview) {             itemview.setonclicklistener(this);         }          @override         public void onclick(view v) {             // condition below returns false if item isn't in array.             if (selecteditems.get(getposition(), false)) {               //if in array delete it. clicking second time on item uncheck it.                 selecteditems.delete(getposition());                 ((checkbox)v.findviewbyid(r.id.checkbox)).setchecked(selecteditems.get(position, false));             }             else {                 selecteditems.put(getposition(), true);                 // here ref view checkbox , *check*                 ((checkbox)viewholder.itemview.findviewbyid(r.id.checkbox)).setchecked(true);             }         }     } 

at point have multiples items checked checkbox in recyclerview since views recycled. prevent , have checkboxes want checked change onbindviewholder method checks or unchecks checkbox @ bind time :

 @override     public void onbindviewholder(dataviewholder viewholder, int position) {         ((checkbox)viewholder.itemview.findviewbyid(r.id.checkbox)).setchecked(selecteditems.get(position, false));     } 

i didn't test i've same code , works. if have problem let me know.


Comments