Android RecyclerView : notifyDataSetChanged() IllegalStateException

前端 未结 22 1812
天涯浪人
天涯浪人 2020-11-28 02:57

I\'m trying to update the items of a recycleview using notifyDataSetChanged().

This is my onBindViewHolder() method in the recycleview adapter.

@Over         


        
22条回答
  •  旧巷少年郎
    2020-11-28 03:41

    You can just reset the previous listener before you make changes and you won't get this exception.

    private CompoundButton.OnCheckedChangeListener checkedListener = new CompoundButton.OnCheckedChangeListener() {                      
                            @Override
                            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                                //Do your stuff
                        });;
    
        @Override
        public void onBindViewHolder(final ViewHolder holder, final int position) {
            holder.checkbox.setOnCheckedChangeListener(null);
            holder.checkbox.setChecked(condition);
            holder.checkbox.setOnCheckedChangeListener(checkedListener);
        }
    

提交回复
热议问题