Android 选择RecyclerView中的所有复选框
如何在Android 选择RecyclerView中的所有复选框,android,android-recyclerview,android-checkbox,Android,Android Recyclerview,Android Checkbox,如何在recyclerView中选择所有复选框? 我试着这样做: 在适配器中: public void selectAll(){ Log.e("onClickSelectAll","yes"); isSelectedAll=true; notifyDataSetChanged(); } @Override public void onBindViewHolder(ViewHolder holder, int positio
recyclerView中选择所有复选框?
我试着这样做:
在适配器中:
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);}
在布局
活动
中,我有一个带有onClickListener的按钮
:
private void onClickSelectAll(View view) {
getSelectPersonsAdapter().selectAll();
}
你犯了个简单的错误
if (!isSelectedAll) holder.select_item.setChecked(false);
else holder.select_item.setChecked(true);
将setSelected
更改为setChecked
即是用于全选和取消全选
活跃
checkall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(checkall.isChecked()){
categoryAdapter.selectAll();
}
else {
categoryAdapter.unselectall();
}
}
});
输入适配器
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);
这样做的结果是什么?只要换成setChecked@RahulMandaliya这很有帮助,谢谢!作答