Select all checkboxes in RecyclerView

17,677

Solution 1

You made a simple mistake here

  if (!isSelectedAll) holder.select_item.setChecked(false);
    else holder.select_item.setChecked(true);

change setSelected into setChecked thats it

Solution 2

for both Select All and Unselect All

activty

 checkall.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(checkall.isChecked()){
                categoryAdapter.selectAll();
            }
            else {
                categoryAdapter.unselectall();
            }


        }
    });

in adapter

  public void selectAll(){
        isSelectedAll=true;
        notifyDataSetChanged();
    }
    public void unselectall(){
        isSelectedAll=false;
        notifyDataSetChanged();
    }



    @Override
    public void onBindViewHolder(@NonNull final MyviewHolder holder, int position) {
        final CategoryListItems list = categoryListItems.get(position);
        holder.text.setText(list.getName());
        if (!isSelectedAll){
            holder.checkbox.setChecked(false);
        }
        else  holder.checkbox.setChecked(true);
Share:
17,677

Related videos on Youtube

no news
Author by

no news

Android Developer

Updated on July 01, 2022

Comments

  • no news
    no news almost 2 years

    How can I select all checkboxes in recyclerView?

    I try to do it like this:

    in Adapter:

       public void selectAll(){
            Log.e("onClickSelectAll","yes");
            isSelectedAll=true;
            notifyDataSetChanged();
        }
    
    
    @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            PersonDTO item = dataSet.get(position);
            holder.tvName.setText(item.getName());
            if (!isSelectedAll) holder.cbSelect.setSelected(false);
            else holder.cbSelect.setSelected(true);}
    

    In layout Activity I have a button with onClickListener:

     private void onClickSelectAll(View view) {
    
            getSelectPersonsAdapter().selectAll();
        }
    
    • no news
      no news almost 8 years
      @RahulMandaliya It's helped, thanks! Make answer