gpt4 book ai didi

java - 当我在 android 中取消选择甚至 1 个复选框时如何取消选择全选复选框

转载 作者:行者123 更新时间:2023-11-29 23:27:29 29 4
gpt4 key购买 nike

我想在我的项目中使用以下功能:单击全选复选框时,必须选中列表中的所有复选框,取消选中复选框时,必须取消选中所有其他复选框。我通过这样做实现了这个功能:

/*in my main activity i have done this*/

cbSelectAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
for (int i = 0; i < resumeSearchList.size(); i++) {
resumeSearchList.get(i).setSelected(cbSelectAll.isChecked());
}
cvSearchResultListAdapter.notifyDataSetChanged();
}
});
}

在适配器类中我已经这样做了..

holder.cbSelect.setChecked(dataList.get(position).isSelected());

现在我的问题是每当我取消选中列表中的任何复选框时,必须取消选中全选按钮。请帮忙

提前致谢

最佳答案

您可以在适配器中的 holder.cbSelect. 上设置 OnCheckedChangeListener

holder.cbSelect.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
dataList.get(holder.getAdapterPosition()).setSelected(isChecked);
// here you can call listener to get notified
}
});
}

您可以让监听器在您的Activity 中得到通知。

用于添加监听器,

<强>1。创建一个接口(interface):

public interface OnMyCheckBoxCheckedChangeListener {
void onMyCheckBoxCheckedChange();
}

<强>2。在 Adapter 的构造函数中添加参数:

private OnMyCheckBoxCheckedChangeListener mOnMyCheckBoxCheckedChangeListener;

public YourAdapter(..., ..., OnMyCheckBoxCheckedChangeListener onMyCheckBoxCheckedChangeListener) {
mOnMyCheckBoxCheckedChangeListener = onMyCheckBoxCheckedChangeListener;
}

<强>3。调用要通知的接口(interface):

holder.cbSelect.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
dataList.get(holder.getAdapterPosition()).setSelected(isChecked);
mOnMyCheckBoxCheckedChangeListener.onMyCheckBoxCheckedChange();
}
});
}

<强>4。从您的 Activity 中设置适配器:

yourRecyclerView.setAdapter(new YourAdapter(..., ..., new OnMyCheckBoxCheckedChangeListener() {
@Override
public void onMyCheckBoxCheckedChange() {
// you will get notified here.
}
}));

关于java - 当我在 android 中取消选择甚至 1 个复选框时如何取消选择全选复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53313370/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com