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);}
layout
Activity
にbutton
と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);